Skip to content

Commit

Permalink
analyze: static/dynamic comparison mode for NON_NULL (#1151)
Browse files Browse the repository at this point in the history
This adds a mode for comparing static analysis results to the dynamic
results from the PDG. Comparison mode is enabled by setting the env var
`C2RUST_ANALYZE_COMPARE_PDG=1`. When this mode is enabled,
c2rust-analyze skips normal rewriting and instead prints a copy of the
input code with annotation comments indicating places where static and
dynamic NON_NULL results disagree. Specifically, it annotates cases
where either the static analysis computed NON_NULL but the PDG includes
at least one observation where the pointer is null, or the dynamic
analysis marked the pointer nullable but the PDG contains observations
that are all non-null.

In support of the main change, this branch also includes a refactor of
the PDG processing code.
  • Loading branch information
spernsteiner authored Nov 20, 2024
2 parents 3b8a6cd + 58d56c0 commit 5c27c04
Show file tree
Hide file tree
Showing 3 changed files with 437 additions and 212 deletions.
Loading

0 comments on commit 5c27c04

Please sign in to comment.