File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -10,9 +10,12 @@ private import csharp
1010private import semmle.code.csharp.dispatch.Dispatch
1111private import ExternalApi
1212
13- from ExternalApi api , int usages
14- where
13+ private predicate getRelevantUsages ( ExternalApi api , int usages ) {
1514 not api .isUninteresting ( ) and
1615 api .isSink ( ) and
1716 usages = strictcount ( DispatchCall c | c = api .getACall ( ) )
17+ }
18+
19+ from ExternalApi api , int usages
20+ where Results< getRelevantUsages / 2 > :: restrict ( api , usages )
1821select api .getInfo ( ) as info , usages order by usages desc
Original file line number Diff line number Diff line change @@ -10,9 +10,12 @@ private import csharp
1010private import semmle.code.csharp.dispatch.Dispatch
1111private import ExternalApi
1212
13- from ExternalApi api , int usages
14- where
13+ private predicate getRelevantUsages ( ExternalApi api , int usages ) {
1514 not api .isUninteresting ( ) and
1615 api .isSource ( ) and
1716 usages = strictcount ( DispatchCall c | c = api .getACall ( ) )
17+ }
18+
19+ from ExternalApi api , int usages
20+ where Results< getRelevantUsages / 2 > :: restrict ( api , usages )
1821select api .getInfo ( ) as info , usages order by usages desc
Original file line number Diff line number Diff line change @@ -10,9 +10,12 @@ private import csharp
1010private import semmle.code.csharp.dispatch.Dispatch
1111private import ExternalApi
1212
13- from ExternalApi api , int usages
14- where
13+ private predicate getRelevantUsages ( ExternalApi api , int usages ) {
1514 not api .isUninteresting ( ) and
1615 api .hasSummary ( ) and
1716 usages = strictcount ( DispatchCall c | c = api .getACall ( ) )
17+ }
18+
19+ from ExternalApi api , int usages
20+ where Results< getRelevantUsages / 2 > :: restrict ( api , usages )
1821select api .getInfo ( ) as info , usages order by usages desc
Original file line number Diff line number Diff line change @@ -10,9 +10,12 @@ private import csharp
1010private import semmle.code.csharp.dispatch.Dispatch
1111private import ExternalApi
1212
13- from ExternalApi api , int usages
14- where
13+ private predicate getRelevantUsages ( ExternalApi api , int usages ) {
1514 not api .isUninteresting ( ) and
1615 not api .isSupported ( ) and
1716 usages = strictcount ( DispatchCall c | c = api .getACall ( ) )
17+ }
18+
19+ from ExternalApi api , int usages
20+ where Results< getRelevantUsages / 2 > :: restrict ( api , usages )
1821select api .getInfo ( ) as info , usages order by usages desc
You can’t perform that action at this time.
0 commit comments