Fraunhofer-AISEC / codyze

Codyze is a static analyzer for Java, C, C++ based on code property graphs
https://www.codyze.io
Apache License 2.0
86 stars 18 forks source link

Initial structure for cpg native queries and and a small example #865

Open konradweiss opened 4 months ago

konradweiss commented 4 months ago

This PR is an initial structure to execute CPG native queries on a CPG backend to generate findings associated with CPG nodes.

An exampel to executed the ExampleQuery:

./gradlew run --args="runNativeQueries cpg --source <file>"
codecov[bot] commented 4 months ago

Codecov Report

Attention: Patch coverage is 0.30030% with 332 lines in your changes missing coverage. Please review.

Project coverage is 65.64%. Comparing base (81597ae) to head (e79badf). Report is 6 commits behind head on main.

Files Patch % Lines
...ionLanguage/cpg/native/TSFIInformationExtractor.kt 0.00% 233 Missing :warning:
...icationLanguage/cpg/native/CPGQuerySarifBuilder.kt 0.00% 27 Missing :warning:
...ecificationLanguage/cpg/native/CPGQueryExecutor.kt 0.00% 17 Missing :warning:
...pecificationLanguage/cpg/native/CPGQueryFinding.kt 0.00% 15 Missing :warning:
...icationLanguage/cpg/native/queries/ExampleQuery.kt 0.00% 12 Missing :warning:
...e/specificationLanguage/cpg/native/XMLFormatter.kt 0.00% 8 Missing :warning:
...ificationLanguage/cpg/native/CPGQuerySubcommand.kt 0.00% 7 Missing :warning:
...ecificationLanguage/cpg/native/queries/CPGQuery.kt 0.00% 4 Missing :warning:
...cationLanguage/cpg/native/CPGQueryConfiguration.kt 0.00% 3 Missing :warning:
...icationLanguage/cpg/native/InformationExtractor.kt 0.00% 3 Missing :warning:
... and 2 more
Additional details and impacted files ```diff @@ Coverage Diff @@ ## main #865 +/- ## ============================================= - Coverage 77.20% 65.64% -11.57% Complexity 250 250 ============================================= Files 59 71 +12 Lines 1882 2215 +333 Branches 265 328 +63 ============================================= + Hits 1453 1454 +1 - Misses 308 640 +332 Partials 121 121 ``` | [Flag](https://app.codecov.io/gh/Fraunhofer-AISEC/codyze/pull/865/flags?src=pr&el=flags&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Fraunhofer-AISEC) | Coverage Δ | | |---|---|---| | [unittests](https://app.codecov.io/gh/Fraunhofer-AISEC/codyze/pull/865/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Fraunhofer-AISEC) | `65.64% <0.30%> (-11.57%)` | :arrow_down: | Flags with carried forward coverage won't be shown. [Click here](https://docs.codecov.io/docs/carryforward-flags?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Fraunhofer-AISEC#carryforward-flags-in-the-pull-request-comment) to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

fwendland commented 1 month ago

We discussed new directions of the native CPG query functionality in Codyze. We want to have: