Skip to content

Commit 5441d1b

Browse files
authored
Merge pull request #6941 from tautschnig/feature/goto-analyzer-man-page
Add goto-analyzer man page
2 parents 3e3269e + 5382516 commit 5441d1b

File tree

4 files changed

+613
-13
lines changed

4 files changed

+613
-13
lines changed

doc/cprover-manual/goto-analyzer.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ a better picture of exactly what is computed.
8585
: Every property in the program is checked to see whether it is true
8686
(it always holds), unreachable, false if it is reachable (due to the
8787
over-approximate analysis, it is not clear if locations are reachable
88-
or if it is an overapproximation, so this is the best that can be
88+
or if it is an over-approximation, so this is the best that can be
8989
achieved) or unknown. If there are multiple points of execution that
9090
reach the same location, each will be checked and the answers
9191
combined, with unknown taking precedence.
@@ -99,8 +99,8 @@ value. If this makes instructions unreachable (for example if `GOTO`
9999
can be shown to never be taken) they will be removed. Removal can be
100100
deactivated by passing `--no-simplify-slicing`. In the ideal world
101101
simplify would be idempotent (i.e. running it a second time would not
102-
simply anything more than the first). However there are edge cases
103-
which are difficult or prohibitatively expensive to handle in the
102+
simplify anything more than the first). However there are edge cases
103+
which are difficult or prohibitively expensive to handle in the
104104
domain which can result in a second (or more) runs giving
105105
simplification. Submitting bug reports for these is helpful but they
106106
may not be viable to fix.
@@ -284,7 +284,7 @@ element is stored for every entry in the array.
284284
: This controls the handling of pointers. The default, `top-bottom` effectively
285285
ignores pointers, this is OK if they are just read (all reads return
286286
top) but if they are written then there is the problem that we know
287-
that a variable is changed but we don't which one, so we have to set
287+
that a variable is changed but we know don't which one, so we have to set
288288
the whole domain to top. `constants` is somewhat misleadingly named as it
289289
uses an abstract object that tracks a pointer to a single variable.
290290
This includes the offset within the variable; a stack of field names
@@ -300,7 +300,7 @@ described above.
300300
variable of union type.
301301

302302
`--vsd-data-dependencies`
303-
: Wraps each abstract object with a set of locations whether the
303+
: Wraps each abstract object with a set of locations where the
304304
variable was last modified. The set is reset when the variable is
305305
written and takes the union of the two sides' sets on merge. This was
306306
originally intended for `--dependence-graph-vs` but has proved useful
@@ -383,8 +383,8 @@ is visited. There is not a direct form of program transformation that
383383
matches this but it is similar to the per-path analysis that symbolic
384384
execution does. The scalability and the risk of non-termination if
385385
`n` is `0` remain the same. Note that the goto-programs generated by
386-
various language front-ends have a condition forwards jump to exit the
387-
loop if the condition fails at the start and a unconditional backwards
386+
various language front-ends have a conditional forwards jump to exit the
387+
loop if the condition fails at the start and an unconditional backwards
388388
jump at the end. This means that `--branching` can wind up
389389
distinguishing different loop iterations -- "has not exited for the
390390
last 3 iterations" rather than "has jumped back to the top 3 times".

doc/man/goto-analyzer.1

Lines changed: 0 additions & 1 deletion
This file was deleted.

0 commit comments

Comments
 (0)