Skip to content

Commit 86d737b

Browse files
Add options for incremental one-loop BMC
for incremental unwinding and assertion checking of a specified loop.
1 parent 3f06848 commit 86d737b

File tree

1 file changed

+12
-1
lines changed

1 file changed

+12
-1
lines changed

src/goto-checker/bmc_util.h

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -192,7 +192,10 @@ void run_property_decider(
192192
"(unwind):" \
193193
"(unwindset):" \
194194
"(graphml-witness):" \
195-
"(unwindset):"
195+
"(incremental-loop):" \
196+
"(unwind-min):" \
197+
"(unwind-max):" \
198+
"(ignore-properties-before-unwind-min)"
196199

197200
#define HELP_BMC \
198201
" --paths [strategy] explore paths one at a time\n" \
@@ -203,6 +206,14 @@ void run_property_decider(
203206
" --unwind nr unwind nr times\n" \
204207
" --unwindset L:B,... unwind loop L with a bound of B\n" \
205208
" (use --show-loops to get the loop IDs)\n" \
209+
" --incremental-loop L check properties after each unwinding\n" \
210+
" of loop L\n" \
211+
" (use --show-loops to get the loop IDs)\n" \
212+
" --unwind-min nr start incremental-loop after nr unwindings\n" \
213+
" --unwind-max nr stop incremental-loop after nr unwindings\n" \
214+
" --ignore-properties-before-unwind-min\n" \
215+
" do not check properties before unwind-min\n" \
216+
" when using incremental-loop\n" \
206217
" --show-vcc show the verification conditions\n" \
207218
" --slice-formula remove assignments unrelated to property\n" \
208219
" --unwinding-assertions generate unwinding assertions (cannot be\n" \

0 commit comments

Comments
 (0)