Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Notes
To begin using a new IR format without breaking existing detectors, we will set a flag
generates_certik_ir
in the top-level IR/CFG generatorSlitherCompilationUnitSolc
. For each file, we will create two IR generators, one for the certik IR variant and the other for the existing SlithIR format. Existing detectors will use the old IR format. To cause a new detector to use the new format, we will override theuses_certik_ir
property ofAbstractDetector
to returnTrue
.A new printer called
certikir
has been added. This is similar toslithir
but prints CertiK IR variant instead of SlithIR.Testing
./evaluate.sh run 100
and verify that all projects succeedvariable_declaration.py
with the below code (which adds default value initialization to uninitialized variable declaration statements) and run thecertikir
printer. Note that unlikeslithir
,certikir
generates some instructions for default value initialization.variable_declaration.py
example.sol
Related Issue
https://github.com/CertiKProject/slither-task/issues/217