Skip to content

Commit dd1b0e0

Browse files
author
Mark R. Tuttle
committed
Make cprover-manual format nicely with doxygen
* Format index.md as nested lists instead of a list of section headings * Correct broken links * Add blank link before all lists for pandoc parsing * Some end-of-line whitespace removed
1 parent 9e6e35f commit dd1b0e0

File tree

6 files changed

+32
-29
lines changed

6 files changed

+32
-29
lines changed

doc/cprover-manual/cbmc-tutorial.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,7 @@ the `for` loop in the program. As CBMC performs Bounded Model Checking,
176176
all loops have to have a finite upper run-time bound in order to
177177
guarantee that all bugs are found. CBMC can optionally check that enough
178178
unwinding is performed. As an example, consider the program
179-
[binsearch.c](https://raw.githubusercontent.com/diffblue/cbmc/develop/doc/cprover-manual/binsearch1.c):
179+
[binsearch.c](https://raw.githubusercontent.com/diffblue/cbmc/develop/doc/cprover-manual/binsearch.c):
180180

181181
```C
182182
int binsearch(int x)
@@ -333,7 +333,7 @@ comes with a small set of definitions, which includes functions such as
333333

334334
### Further Reading
335335

336-
- [Understanding Loop Unwinding](../unwinding/)
336+
- [Understanding Loop Unwinding](../../cbmc/unwinding/)
337337
- [Hardware Verification using ANSI-C Programs as a
338338
Reference](http://www-2.cs.cmu.edu/~svc/papers/view-publications-ck03.html)
339339
- [Behavioral Consistency of C and Verilog Programs Using Bounded

doc/cprover-manual/contracts-loops.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
# Loop Contracts
44

55
CBMC offers support for loop contracts, which includes three basic clauses:
6+
67
- _invariant_ clause for establishing safety properties
78
- _decreases_ clause for establishing termination, and
89
- _assigns_ clause for declaring the subset of variables that is modifiable in the loop.

doc/cprover-manual/contracts.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ Design](https://www.georgefairbanks.com/york-university-contract-based-design-20
1515
by George Fairbanks.
1616

1717
CBMC currently supports contracts on functions and loops:
18+
1819
- [Function Contracts](../contracts/functions/)
1920
- [Loop Contracts](../contracts/loops/)
2021

doc/cprover-manual/goto-analyzer.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ iterations or B. possibly false. In this sense, each tool has its own
1818
strengths and weaknesses.
1919

2020
To use `goto-analyzer` you need to give options for:
21+
2122
* What [task](#task) to perform after the abstract interpreter has run.
2223
* How to format the [output](#output).
2324
* Which [abstract interpreter](#abstractinterpreter) is used.
@@ -48,7 +49,7 @@ goto-analyzer --verify --three-way-merge --vsd --vsd-values set-of-constants --
4849

4950
I want to discharge obvious conditions and remove unreachable code:
5051
```
51-
goto-analyzer --simplify out.gb --three-way-merge --vsd
52+
goto-analyzer --simplify out.gb --three-way-merge --vsd
5253
```
5354

5455

@@ -182,7 +183,7 @@ will likely become the default at some point in the future.
182183
: This extends `--recursive-interprocedural` by performing a
183184
"modification aware" merge after function calls. At the time of
184185
writing only `--vsd` supports the necessary differential reasoning.
185-
If you are using `--vsd` this is recommended as it is more accurate
186+
If you are using `--vsd` this is recommended as it is more accurate
186187
with little extra cost.
187188

188189

@@ -412,7 +413,7 @@ location will use the same domain. Setting this means that the
412413
results of other histories will be similar to setting
413414
`--ahistorical`. One difference is how and when widening occurs.
414415
`--one-domain-per-location --loop-unwind n` will wait until `n`
415-
iterations of a loop have been completed and then will start to widen.
416+
iterations of a loop have been completed and then will start to widen.
416417

417418
`--one-domain-per-history`
418419
: This is the best option to use if you are using a history other than
@@ -430,4 +431,3 @@ instrumentation. These all function exactly the same as CBMC does.
430431
It also supports specific analyses which do not fit into the
431432
configurable scheme above. At the time of writing this is just
432433
`--taint` which performs a configurable taint analysis.
433-

doc/cprover-manual/index.md

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,34 @@
11
# The CPROVER Manual
22

3-
## 1. [Introduction](introduction/)
3+
1. [Introduction](introduction/)
44

5-
## 2. [Installation](installation/)
5+
2. [Installation](installation/)
66

7-
## 3. CBMC – Bounded Model Checking
7+
3. CBMC – Bounded Model Checking
88

9-
[A Short Tutorial](cbmc/tutorial/),
10-
[Loop Unwinding](cbmc/unwinding/),
11-
[Assertion Checking](cbmc/assertions/)
9+
* [A Short Tutorial](cbmc/tutorial/)
10+
* [Loop Unwinding](cbmc/unwinding/)
11+
* [Assertion Checking](cbmc/assertions/)
1212

13-
## 4. [Compositional Reasoning using Code Contracts](contracts/)
13+
4. [Compositional Reasoning using Code Contracts](contracts/)
1414

15-
## 5. [Goto-Analyzer – Abstract Interpretation](goto-analyzer/)
15+
5. [Goto-Analyzer – Abstract Interpretation](goto-analyzer/)
1616

17-
## 6. [Test Suite Generation](test-suite/)
17+
6. [Test Suite Generation](test-suite/)
1818

19-
## 7. [Program Properties](properties/)
19+
7. [Program Properties](properties/)
2020

21-
## 8. Modeling
21+
8. Modeling
2222

23-
[Nondeterminism](modeling/nondeterminism/),
24-
[Assumptions](modeling/assumptions/),
25-
[Pointers](modeling/pointers/),
26-
[Floating Point](modeling/floating-point/)
27-
[Generating Environments](goto-harness/)
23+
* [Nondeterminism](modeling/nondeterminism/)
24+
* [Assumptions](modeling/assumptions/)
25+
* [Pointers](modeling/pointers/)
26+
* [Floating Point](modeling/floating-point/)
27+
* [Generating Environments](goto-harness/)
2828

29-
## 9. Build Systems
29+
9. Build Systems
3030

31-
[Integration into Build Systems with goto-cc](goto-cc/),
32-
[Integration with Visual Studio builds](visual-studio/)
31+
* [Integration into Build Systems with goto-cc](goto-cc/)
32+
* [Integration with Visual Studio builds](visual-studio/)
3333

34-
## 10. [The CPROVER API Reference](api/)
34+
10. [The CPROVER API Reference](api/)

doc/cprover-manual/properties.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -133,14 +133,15 @@ The goto-instrument program supports these checks:
133133
| `--error-label label` | check that given label is unreachable |
134134
135135
As all of these checks apply across the entire input program, we may wish to
136-
disable or enable them for selected statements in the program.
137-
For example, unsigned overflows can be expected and acceptable in certain
138-
instructions even when elsewhere we do not expect them.
136+
disable or enable them for selected statements in the program.
137+
For example, unsigned overflows can be expected and acceptable in certain
138+
instructions even when elsewhere we do not expect them.
139139
As of version 5.12, CBMC supports selectively disabling or enabling
140140
automatically generated properties using pragmas.
141141
142142
143143
CPROVER pragmas are handled using a stack:
144+
144145
- `#pragma CPROVER check push` pushes a new level on the pragma stack
145146
- `#pragma CPROVER check disable "<name_of_check>"` adds a disable pragma
146147
at the top of the stack

0 commit comments

Comments
 (0)