Skip to content

Commit 0c12c1f

Browse files
committed
add README for cprover binary
This adds a README for the cprover binary, which includes instructions for running two sets of verification problems.
1 parent e333b4c commit 0c12c1f

File tree

1 file changed

+40
-0
lines changed

1 file changed

+40
-0
lines changed

src/cprover/README.md

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
\ingroup module_hidden
2+
\defgroup cprover cprover
3+
4+
# Folder CPROVER
5+
6+
This contains an experimental encoding from C programs into a Constrained
7+
Horn Clause (CHC) system. The satisfiability of the CHC system implies that
8+
the assertions (as given or generated) hold. The executable performs the
9+
encoding and the solving of the CHC system.
10+
11+
The formula generated uses custom operators that model program heaps,
12+
including memory allocation, memory deallocation, and pointer dereferencing.
13+
Owing to these custom operators, standard CHC solvers are not applicable.
14+
15+
To run the encoding and the solver on aws-c-common and coreJSON, first
16+
ensure that the `cprover` binary is in your `PATH`. Then perform the
17+
following steps.
18+
19+
# aws-c-common
20+
21+
```sh
22+
git clone https://github.com/kroening/aws-c-common
23+
cd aws-c-common
24+
git checkout cprover
25+
cd verification/cprover
26+
./setup
27+
./script
28+
```
29+
30+
# coreJSON
31+
32+
```sh
33+
git clone https://github.com/kroening/coreJSON
34+
cd coreJSON
35+
git checkout cprover
36+
cd test/cprover
37+
./setup
38+
./script
39+
```
40+

0 commit comments

Comments
 (0)