Skip to content

Commit 1cb3cdd

Browse files
author
Owen Jones
committed
Move other tools into a separate file
1 parent 82eefb7 commit 1cb3cdd

File tree

2 files changed

+80
-74
lines changed

2 files changed

+80
-74
lines changed

doc/architectural/CBMC-developer-guide.md

Lines changed: 1 addition & 74 deletions
Original file line numberDiff line numberDiff line change
@@ -429,77 +429,4 @@ To be documented.
429429

430430
\section section-other-tools Other Tools
431431

432-
To be documented.: The text in this section is a bit outdated.
433-
434-
The CPROVER subversion archive contains a number of separate programs.
435-
Others are developed separately as patches or separate
436-
branches.Interfaces are have been and are continuing to stablise but
437-
older code may require work to compile and function correctly.
438-
439-
In the main archive:
440-
441-
* `CBMC`: A bounded model checking tool for C and C++. See
442-
\ref cbmc.
443-
444-
* `goto-cc`: A drop-in, flag compatible replacement for GCC and other
445-
compilers that produces goto-programs rather than executable binaries.
446-
See \ref goto-cc.
447-
448-
* `goto-instrument`: A collection of functions for instrumenting and
449-
modifying goto-programs. See \ref goto-instrument.
450-
451-
Model checkers and similar tools:
452-
453-
* `SatABS`: A CEGAR model checker using predicate abstraction. Is
454-
roughly 10,000 lines of code (on top of the CPROVER code base) and is
455-
developed in its own subversion archive. It uses an external model
456-
checker to find potentially feasible paths. Key limitations are
457-
related to code with pointers and there is scope for significant
458-
improvement.
459-
460-
* `Scratch`: Alistair Donaldson’s k-induction based tool. The
461-
front-end is in the old project CVS and some of the functionality is
462-
in `goto-instrument`.
463-
464-
* `Wolverine`: An implementation of Ken McMillan’s IMPACT algorithm
465-
for sequential programs. In the old project CVS.
466-
467-
* `C-Impact`: An implementation of Ken McMillan’s IMPACT algorithm for
468-
parallel programs. In the old project CVS.
469-
470-
* `LoopFrog`: A loop summarisation tool.
471-
472-
* `TAN`: Christoph’s termination analyser.
473-
474-
Test case generation:
475-
476-
* `cover`: A basic test-input generation tool. In the old
477-
project CVS.
478-
479-
* `FShell`: A test-input generation tool that allows the user to
480-
specify the desired coverage using a custom language (which includes
481-
regular expressions over paths). It uses incremental SAT and is thus
482-
faster than the naïve “add assertions one at a time and use the
483-
counter-examples” approach. Is developed in its own subversion.
484-
485-
Alternative front-ends and input translators:
486-
487-
* `Scoot`: A System-C to C translator. Probably in the old
488-
project CVS.
489-
490-
* `???`: A Simulink to C translator. In the old project CVS.
491-
492-
* `???`: A Verilog front-end. In the old project CVS.
493-
494-
* `???`: A converter from Codewarrior project files to Makefiles. In
495-
the old project CVS.
496-
497-
Other tools:
498-
499-
* `ai`: Leo’s hybrid abstract interpretation / CEGAR tool.
500-
501-
* `DeltaCheck?`: Ajitha’s slicing tool, aimed at locating changes and
502-
differential verification. In the old project CVS.
503-
504-
There are tools based on the CPROVER framework from other research
505-
groups which are not listed here.
432+
See [Other Tools](\ref other-tools).

doc/architectural/other-tools.md

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
\ingroup module_hidden
2+
\page other-tools Other Tools
3+
4+
\author Martin Brain, Peter Schrammel
5+
6+
FIXME: The text in this section is a bit outdated.
7+
8+
The CPROVER subversion archive contains a number of separate programs.
9+
Others are developed separately as patches or separate
10+
branches.Interfaces are have been and are continuing to stablise but
11+
older code may require work to compile and function correctly.
12+
13+
In the main archive:
14+
15+
* `CBMC`: A bounded model checking tool for C and C++. See
16+
\ref cbmc.
17+
18+
* `goto-cc`: A drop-in, flag compatible replacement for GCC and other
19+
compilers that produces goto-programs rather than executable binaries.
20+
See \ref goto-cc.
21+
22+
* `goto-instrument`: A collection of functions for instrumenting and
23+
modifying goto-programs. See \ref goto-instrument.
24+
25+
Model checkers and similar tools:
26+
27+
* `SatABS`: A CEGAR model checker using predicate abstraction. Is
28+
roughly 10,000 lines of code (on top of the CPROVER code base) and is
29+
developed in its own subversion archive. It uses an external model
30+
checker to find potentially feasible paths. Key limitations are
31+
related to code with pointers and there is scope for significant
32+
improvement.
33+
34+
* `Scratch`: Alistair Donaldson’s k-induction based tool. The
35+
front-end is in the old project CVS and some of the functionality is
36+
in `goto-instrument`.
37+
38+
* `Wolverine`: An implementation of Ken McMillan’s IMPACT algorithm
39+
for sequential programs. In the old project CVS.
40+
41+
* `C-Impact`: An implementation of Ken McMillan’s IMPACT algorithm for
42+
parallel programs. In the old project CVS.
43+
44+
* `LoopFrog`: A loop summarisation tool.
45+
46+
* `TAN`: Christoph’s termination analyser.
47+
48+
Test case generation:
49+
50+
* `cover`: A basic test-input generation tool. In the old
51+
project CVS.
52+
53+
* `FShell`: A test-input generation tool that allows the user to
54+
specify the desired coverage using a custom language (which includes
55+
regular expressions over paths). It uses incremental SAT and is thus
56+
faster than the naïve “add assertions one at a time and use the
57+
counter-examples” approach. Is developed in its own subversion.
58+
59+
Alternative front-ends and input translators:
60+
61+
* `Scoot`: A System-C to C translator. Probably in the old
62+
project CVS.
63+
64+
* `???`: A Simulink to C translator. In the old project CVS.
65+
66+
* `???`: A Verilog front-end. In the old project CVS.
67+
68+
* `???`: A converter from Codewarrior project files to Makefiles. In
69+
the old project CVS.
70+
71+
Other tools:
72+
73+
* `ai`: Leo’s hybrid abstract interpretation / CEGAR tool.
74+
75+
* `DeltaCheck?`: Ajitha’s slicing tool, aimed at locating changes and
76+
differential verification. In the old project CVS.
77+
78+
There are tools based on the CPROVER framework from other research
79+
groups which are not listed here.

0 commit comments

Comments
 (0)