CegarMC: Integrating CEGAR Model Checking into a C Verification Framework |
CegarMC is a tool that allows for CEGAR model checking within the
Frama-C framework for analysis and verification of C programs.
CegarMC is implemented as a Frama-C plugin (GUI version only) and
allows for the verification of statement contracts. It is intended
to be used together with other Frama-C plugins especially
including those for abstract interpretation (value analysis) and
deductive verification (wp).
Please report any bugs/comments to Subash Shankar
(subash.shankar12@hu34nter.cuny.edu with the digits removed). We
would also love to hear of any applications you may be using the
tool on.
These instructions include the versions of the tools that CegarMC
has been tested/developed with, though It will probably also work
with other versions except as otherwise stated. You may skip step
2 or 3 if you wish to use only 1 back-end CEGAR tool, though it is
recommended that you install both since they won't generally work
on the same programs.
To test that everything has been installed properly type:
CegarMC allows for the verification of statement contracts
expressed using a subset of ACSL constructs.The options are:
Option |
|
-mc |
enable cegarmc plugin |
-mc-help |
this list |
-mc-checker {cpa,satabs} |
CEGAR model checker backend |
-mc-output <filename> |
Name of intermediate file (will be
overwritten) |
-mc-context |
Use value analysis to assume initial values
for variables in statement (ignored if -val flag is not
used) |
-mc-maxcontext <n> |
The number of values to enumerate in the
context. If it is unable to determine a context that has
fewer than n values, an interval is used. Note that large
values of n may adversely affect CEGAR performance since it
can also be used to generate more predicates for abstraction |
-mc-numiter <n> |
The number of CEGAR iterations (not supported
with cpachecker) |
-mc-timelimit <n> |
Timeout (in seconds) for CEGAR checker |