@@ -47,11 +47,11 @@ digraph G {
47
47
48
48
\subsection symex-overview Overview
49
49
50
- The \ref bmct class gets a reference to an \ref symex_target_equationt
50
+ The \ref goto_symext class gets a reference to a \ref symex_target_equationt
51
51
"equation" (initially, an empty list of \ref SSA_stept
52
52
"single-static assignment steps") and a goto-program from the frontend.
53
- The \ref bmct creates a goto_symext to symbolically execute the
54
- goto-program, thereby filling the equation, which can then be passed
53
+ \ref multi_path_symex_checkert then calls goto_symext to symbolically execute
54
+ the goto-program, thereby filling the equation, which can then be passed
55
55
along to the SAT solver.
56
56
57
57
The class \ref goto_symext holds the global state of the symbol executor, while
@@ -131,12 +131,11 @@ representing that path, then continues to execute other paths.
131
131
The 'other paths' that would have been taken when the program branches
132
132
are saved onto a workqueue so that the driver program can continue to execute
133
133
the current path, and then later retrieve saved paths from the workqueue.
134
- Implementation-wise, \ref bmct passes a worklist to goto_symext in
135
- \ref bmct::do_language_agnostic_bmc. If path exploration is enabled,
136
- goto_symext will fill up the worklist whenever it encounters a branch,
137
- instead of merging the paths on the branch. After the initial symbolic
138
- execution (i.e. the first call to \ref bmct::run in
139
- \ref bmct::do_language_agnostic_bmc), \ref bmct continues popping the
134
+ Implementation-wise, \ref single_path_symex_checkert maintains a worklist
135
+ and passes it to goto_symext. If path exploration is enabled, goto_symext will
136
+ fill up the worklist whenever it encounters a branch, instead of merging the
137
+ paths on the branch. The worklist is initialized with the initial state at the
138
+ entry point. Then \ref single_path_symex_checkert continues popping the
140
139
worklist and executing untaken paths until the worklist empties. Note
141
140
that this means that the default model-checking behaviour is a special
142
141
case of path exploration: when model-checking, the initial symbolic
@@ -261,7 +260,6 @@ In the \ref goto-symex directory.
261
260
** Key classes:**
262
261
* \ref symex_target_equationt
263
262
* \ref prop_convt
264
- * \ref bmct
265
263
* \ref counterexample_beautificationt
266
264
267
265
\dot
0 commit comments