mirror of
https://github.com/github/codeql.git
synced 2026-04-26 17:25:19 +02:00
Merge pull request #11487 from jcogs33/jcogs33/supportedexternalapis-telemetry-query
Java/C#: add SupportedExternalApis telemetry query
This commit is contained in:
23
java/ql/src/Telemetry/SupportedExternalApis.ql
Normal file
23
java/ql/src/Telemetry/SupportedExternalApis.ql
Normal file
@@ -0,0 +1,23 @@
|
||||
/**
|
||||
* @name Usage of supported APIs coming from external libraries
|
||||
* @description A list of supported 3rd party APIs used in the codebase. Excludes test and generated code.
|
||||
* @kind metric
|
||||
* @tags summary telemetry
|
||||
* @id java/telemetry/supported-external-api
|
||||
*/
|
||||
|
||||
import java
|
||||
import semmle.code.java.dataflow.internal.FlowSummaryImpl as FlowSummaryImpl
|
||||
import ExternalApi
|
||||
|
||||
private predicate relevant(ExternalApi api) {
|
||||
not api.isUninteresting() and
|
||||
(
|
||||
api.isSupported() or
|
||||
api = any(FlowSummaryImpl::Public::NegativeSummarizedCallable nsc).asCallable()
|
||||
)
|
||||
}
|
||||
|
||||
from string apiName, int usages
|
||||
where Results<relevant/1>::restrict(apiName, usages)
|
||||
select apiName, usages order by usages desc
|
||||
@@ -0,0 +1,4 @@
|
||||
---
|
||||
category: newQuery
|
||||
---
|
||||
* Added a new query, `java/telemetry/supported-external-api`, to detect supported 3rd party APIs used in a codebase.
|
||||
Reference in New Issue
Block a user