Skip to content

Commit bc8cdc9

Browse files
committed
Set paths-symex-explore-all when unwinding-assertions defaults to true
When unwinding-assertions is enabled by default (via set_default_analysis_flags), paths-symex-explore-all must also be enabled. Otherwise, the single-path symex checker's has_finished_exploration check can return true before any path is explored, because dynamically generated properties (like 'no body for callee') don't exist in the initial properties map. The explicit --unwinding-assertions flag already set paths-symex-explore-all (line 192), but the default enablement path did not, causing --paths lifo to miss no-body assertions. Co-authored-by: Kiro <kiro-agent@users.noreply.github.com> All 19 tests previously tagged paths-lifo-expected-failure now pass, so remove the tag and the corresponding exclusion from the Makefile and CMakeLists.txt.
1 parent 7a4df92 commit bc8cdc9

22 files changed

Lines changed: 22 additions & 21 deletions

File tree

regression/cbmc/Array_operations4/program-only.desc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
CORE paths-lifo-expected-failure
1+
CORE
22
main.c
33
--program-only
44
target!0@1#2 ==

regression/cbmc/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ add_test_pl_tests(
1313
add_test_pl_profile(
1414
"cbmc-paths-lifo"
1515
"$<TARGET_FILE:cbmc> --paths lifo"
16-
"-C;-X;thorough-paths;-X;smt-backend;-X;paths-lifo-expected-failure;${gcc_only_string}-s;paths-lifo"
16+
"-C;-X;thorough-paths;-X;smt-backend;${gcc_only_string}-s;paths-lifo"
1717
"CORE"
1818
)
1919

regression/cbmc/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ test-z3:
2626

2727
test-paths-lifo:
2828
@../test.pl -e -p -c "../../../src/cbmc/cbmc --paths lifo" \
29-
-X thorough-paths -X smt-backend -X paths-lifo-expected-failure \
29+
-X thorough-paths -X smt-backend \
3030
-s paths-lifo $(GCC_ONLY)
3131

3232
test-new-smt-backend:

regression/cbmc/array-cell-sensitivity15/test.desc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
CORE paths-lifo-expected-failure
1+
CORE
22
access.c
33
--program-only
44
^EXIT=0$

regression/cbmc/cover-failed-assertions/test-no-failed-assertions.desc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
CORE paths-lifo-expected-failure
1+
CORE
22
test.c
33
--cover location --pointer-check --malloc-may-fail --malloc-fail-null
44
\[main\.coverage\.5\] file test\.c line \d+ function main block 5 \(lines test\.c:main:17,18\): SATISFIED

regression/cbmc/cover-failed-assertions/test.desc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
CORE paths-lifo-expected-failure
1+
CORE
22
test.c
33
--cover location --cover-failed-assertions --malloc-may-fail --malloc-fail-null
44
\[main.coverage\.4\] file test\.c line \d+ function main block 4 \(lines test\.c:main:17,18\): SATISFIED

regression/cbmc/fault_localization-stop_on_fail1/test.desc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
CORE paths-lifo-expected-failure broken-smt-backend no-new-smt
1+
CORE broken-smt-backend no-new-smt
22
main.c
33
--localize-faults --stop-on-fail --no-standard-checks
44
^EXIT=10$

regression/cbmc/outfile_no_dir/test.desc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
CORE paths-lifo-expected-failure
1+
CORE
22
main.c
33
--dimacs --outfile /xyz/out.dimacs
44
^EXIT=1$

regression/cbmc/residual-guards-1/test.desc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
CORE paths-lifo-expected-failure
1+
CORE
22
test.c
33
--show-vcc --unwind 10
44
^\{1\} main::argc!0@1#1 = 1$

regression/cbmc/residual-guards-2/test.desc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
CORE paths-lifo-expected-failure
1+
CORE
22
test.c
33
--show-vcc --unwind 10
44
^\{1\} main::argc!0@1#1 = 1$

0 commit comments

Comments
 (0)