Skip to content

Commit 2b2a62b

Browse files
authored
Merge pull request #4360 from peterschrammel/simple-slice-full-trace
Make use of simple-slice more explicit
2 parents 804efea + e048cf6 commit 2b2a62b

File tree

6 files changed

+13
-3
lines changed

6 files changed

+13
-3
lines changed

doc/architectural/folder-walkthrough.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ containing the code for a different part of the system.
1414
* \ref linking
1515

1616
- Symbolic Execution
17+
* \ref goto-checker
1718
* \ref goto-symex
1819

1920
- Static Analyses
@@ -36,9 +37,10 @@ containing the code for a different part of the system.
3637

3738
* \ref cbmc
3839
* \ref goto-analyzer
39-
* \ref goto-instrument
40-
* \ref goto-diff
4140
* \ref goto-cc
41+
* \ref goto-diff
42+
* \ref goto-harness
43+
* \ref goto-instrument
4244
* \ref jbmc
4345

4446
- Utilities

jbmc/src/jbmc/jbmc_parse_options.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,7 @@ void jbmc_parse_optionst::set_default_options(optionst &options)
108108
options.set_option("propagation", true);
109109
options.set_option("refine-strings", true);
110110
options.set_option("sat-preprocessor", true);
111+
options.set_option("simple-slice", true);
111112
options.set_option("simplify", true);
112113
options.set_option("simplify-if", true);
113114

src/cbmc/cbmc_parse_options.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,7 @@ void cbmc_parse_optionst::set_default_options(optionst &options)
114114
options.set_option("pretty-names", true);
115115
options.set_option("propagation", true);
116116
options.set_option("sat-preprocessor", true);
117+
options.set_option("simple-slice", true);
117118
options.set_option("simplify", true);
118119
options.set_option("simplify-if", true);
119120

src/goto-checker/bmc_util.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -233,7 +233,7 @@ void slice(
233233
}
234234
else
235235
{
236-
if(options.get_list_option("cover").empty())
236+
if(options.get_bool_option("simple-slice"))
237237
{
238238
simple_slice(symex_target_equation);
239239
msg.statistics() << "simple slicing removed "

src/goto-checker/goto_trace_provider.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@ class goto_trace_providert
2323
{
2424
public:
2525
/// Builds and returns the complete trace
26+
/// \note If slicing is used then the trace will not be complete.
27+
/// E.g. with simple-slice it will end at the last assertion.
2628
virtual goto_tracet build_full_trace() const = 0;
2729

2830
/// Builds and returns the trace up to the first failed property

src/goto-instrument/cover.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -165,6 +165,10 @@ parse_coverage_criterion(const std::string &criterion_string)
165165
void parse_cover_options(const cmdlinet &cmdline, optionst &options)
166166
{
167167
options.set_option("cover", cmdline.get_values("cover"));
168+
169+
// allow retrieving full traces
170+
options.set_option("simple-slice", false);
171+
168172
options.set_option(
169173
"cover-include-pattern", cmdline.get_value("cover-include-pattern"));
170174
options.set_option("no-trivial-tests", cmdline.isset("no-trivial-tests"));

0 commit comments

Comments
 (0)