@@ -19,7 +19,7 @@ private float getNumMadModeledApis(string package, string provenance) {
19
19
provenance in [ "generated" , "manual" , "both" ] and
20
20
result =
21
21
count ( SummarizedCallable sc |
22
- package = sc .asCallable ( ) .getDeclaringType ( ) .getPackage ( ) .toString ( ) and
22
+ package = sc .asCallable ( ) .getCompilationUnit ( ) .getPackage ( ) .getName ( ) and
23
23
exists ( DataFlowTargetApi dataFlowTargApi | sc .asCallable ( ) = dataFlowTargApi ) and
24
24
(
25
25
sc .isAutoGenerated ( ) and // "auto-only"
@@ -39,21 +39,26 @@ bindingset[package]
39
39
private float getNumApis ( string package ) {
40
40
result =
41
41
count ( DataFlowTargetApi dataFlowTargApi |
42
- package = dataFlowTargApi .getDeclaringType ( ) .getPackage ( ) .toString ( )
42
+ package = dataFlowTargApi .getCompilationUnit ( ) .getPackage ( ) .getName ( )
43
43
)
44
44
}
45
45
46
46
from
47
47
DataFlowTargetApi dataFlowTargApi , string package , float generatedOnly , float both ,
48
48
float manualOnly , float non , float all , float generatedCoverage , float manualCoverage
49
49
where
50
- package = dataFlowTargApi .getDeclaringType ( ) .getPackage ( ) .toString ( ) and
50
+ // bind `package` to a `DataFlowTargetApi` package name
51
+ package = dataFlowTargApi .getCompilationUnit ( ) .getPackage ( ) .getName ( ) and
52
+ // count the number of APIs with generated-only, both, and manual-only MaD models for each package
51
53
generatedOnly = getNumMadModeledApis ( package , "generated" ) and
52
- manualOnly = getNumMadModeledApis ( package , "manual" ) and
53
54
both = getNumMadModeledApis ( package , "both" ) and
55
+ manualOnly = getNumMadModeledApis ( package , "manual" ) and
56
+ // count the total number of `DataFlowTargetApi`s for each package
54
57
all = getNumApis ( package ) and
55
58
non = all - ( generatedOnly + both + manualOnly ) and
56
- generatedCoverage = ( both / ( both + manualOnly ) ) and // Proportion of manual models covered by generated ones
57
- manualCoverage = ( both / ( both + generatedOnly ) ) // Proportion of generated models covered by manual ones
59
+ // Proportion of manual models covered by generated ones
60
+ generatedCoverage = ( both / ( both + manualOnly ) ) and
61
+ // Proportion of generated models covered by manual ones
62
+ manualCoverage = ( both / ( both + generatedOnly ) )
58
63
select package , generatedOnly , both , manualOnly , non , all , generatedCoverage , manualCoverage
59
64
order by package
0 commit comments