CBMC
|
This contains an experimental encoding from C programs into a Constrained Horn Clause (CHC) system. The satisfiability of the CHC system implies that the assertions (as given or generated) hold. The executable performs the encoding and the solving of the CHC system.
The formula generated uses custom operators that model program heaps, including memory allocation, memory deallocation, and pointer dereferencing. Owing to these custom operators, standard CHC solvers are not applicable.
To run the encoding and the solver on aws-c-common and coreJSON, first ensure that the cprover
binary is in your PATH
. Then perform the following steps.