Awesome Reviewers

Verification · Static analysis · Data and control flow analysis

Code property graph queries

Query syntax, control flow and data flow together to find custom bug patterns.

How to build it

  1. Build a code property graph for the target language with Joern.
  2. Write a query that combines call, control and data flow for one bug pattern.
  3. Keep each query that found a real bug as a regression rule in the repository.

Signals in a repository

  • Joern query scripts (.sc files) committed to the repository.
  • A CI job or make target that runs Joern queries against the build output.
  • Test inputs that each saved query must flag and must not flag.

In practice

No scanned repository runs a tool for this check. The steps above are the only guidance.