@@ -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
8787over-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
8989achieved) or unknown. If there are multiple points of execution that
9090reach the same location, each will be checked and the answers
9191combined, with unknown taking precedence.
@@ -99,8 +99,8 @@ value. If this makes instructions unreachable (for example if `GOTO`
9999can be shown to never be taken) they will be removed. Removal can be
100100deactivated by passing ` --no-simplify-slicing ` . In the ideal world
101101simplify 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
104104domain which can result in a second (or more) runs giving
105105simplification. Submitting bug reports for these is helpful but they
106106may 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
285285ignores pointers, this is OK if they are just read (all reads return
286286top) 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
288288the whole domain to top. ` constants ` is somewhat misleadingly named as it
289289uses an abstract object that tracks a pointer to a single variable.
290290This includes the offset within the variable; a stack of field names
@@ -300,7 +300,7 @@ described above.
300300variable 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
304304variable was last modified. The set is reset when the variable is
305305written and takes the union of the two sides' sets on merge. This was
306306originally 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
383383matches this but it is similar to the per-path analysis that symbolic
384384execution 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
388388jump at the end. This means that ` --branching ` can wind up
389389distinguishing different loop iterations -- "has not exited for the
390390last 3 iterations" rather than "has jumped back to the top 3 times".
0 commit comments