Skip to content

Commit 9b25186

Browse files
committed
Explain unsound options in documentation.
1 parent c15f864 commit 9b25186

File tree

1 file changed

+32
-0
lines changed

1 file changed

+32
-0
lines changed

doc/cprover-manual/unsound_options.md

+32
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
# Unsound CLI options for various tools
2+
3+
Be advised that the following command line options to `cbmc` and `goto-instrument`
4+
have been reported to be unsound:
5+
6+
* `--reachability-slice` has been reported to flip verification results from
7+
failed to successful. For more information, please have a look at [cbmc#6394](https://github.com/diffblue/cbmc/issues/6394)
8+
* `--full-slice` has been reported to be unsound in issue [cbmc#260](https://github.com/diffblue/cbmc/issues/260)
9+
10+
`cbmc` and `goto-instrument` have also been modified to warn that options used
11+
are unsound as part of their output. An example of how that output looks is shown
12+
below:
13+
14+
```sh
15+
$ cbmc --reachability-slice ~/Devel/cbmc_bugs/6394/before-slice.out
16+
CBMC version 5.45.0 (cbmc-5.43.0-77-g99c5a92de1-dirty) 64-bit arm64 macos
17+
Reading GOTO program from file
18+
Reading: ~/Devel/cbmc_bugs/6394/before-slice.out
19+
Generating GOTO Program
20+
Adding CPROVER library (x86_64)
21+
Removal of function pointers and virtual functions
22+
Generic Property Instrumentation
23+
WARNING: Unsound option --reachability-slice
24+
Performing a reachability slice
25+
Running with 8 object bits, 56 offset bits (default)
26+
Starting Bounded Model Checking
27+
[...]
28+
```
29+
30+
Be advised some of these options may be activated by auxiliary options, for instance,
31+
`--aggressive-slice` seems to lead to a path that performs the transformations that
32+
`--reachability-slice` does in `goto-instrument`.

0 commit comments

Comments
 (0)