File tree Expand file tree Collapse file tree 2 files changed +15
-2
lines changed Expand file tree Collapse file tree 2 files changed +15
-2
lines changed Original file line number Diff line number Diff line change @@ -30,9 +30,12 @@ To be documented.
3030
3131To be documented.
3232
33- \subsection analyses-constant-propagation Constant propagation (constant_propagator_ait)
33+ \subsection analyses-constant-propagation Constant propagation (\ref constant_propagator_ait)
3434
35- To be documented.
35+ A simple, unsound constant propagator. Replaces RHS symbol expressions (variable
36+ reads) with their values when they appear to have a unique value at a particular
37+ program point. Unsound with respect to pointer operations on the left-hand side
38+ of assignments.
3639
3740\subsection analyses-taint Taint analysis (custom_bitvector_analysist)
3841
Original file line number Diff line number Diff line change @@ -8,6 +8,16 @@ Author: Peter Schrammel
88
99// / \file
1010// / Constant propagation
11+ // /
12+ // / A simple, unsound constant propagator. Assignments to symbols (local and
13+ // / global variables) are tracked, and propagated if a unique value is found
14+ // / at a given use site. Function calls are accounted for (they are assumed to
15+ // / overwrite all address-taken variables; see \ref dirtyt), but assignments
16+ // / through pointers are not (they are assumed to have no effect).
17+ // /
18+ // / Can be restricted to operate over only particular symbols by passing a
19+ // / predicate to a \ref constant_propagator_ait constructor, in which case this
20+ // / can be rendered sound by restricting it to non-address-taken variables.
1121
1222#ifndef CPROVER_ANALYSES_CONSTANT_PROPAGATOR_H
1323#define CPROVER_ANALYSES_CONSTANT_PROPAGATOR_H
You can’t perform that action at this time.
0 commit comments