Skip to content

Use CaDiCaL for selected THOROUGH regression tests #7543

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Feb 16, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/pull-request-checks.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -411,7 +411,7 @@ jobs:
git checkout -- memory_allocation1 printf1 union12 va_list3
../test.pl -c "cbmc --cprover-smt2" -I broken-smt-backend -K

# This job takes approximately 73 to 95 minutes
# This job takes approximately 8 to 30 minutes
check-ubuntu-20_04-cmake-gcc-THOROUGH:
runs-on: ubuntu-20.04
steps:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
THOROUGH
Test
--function Test.check --max-nondet-string-length 50 --unwind 50 --java-assume-inputs-non-null --cp `../../../../scripts/format_classpath.sh . ../../../lib/java-models-library/target/core-models.jar ../../../lib/java-models-library/target/cprover-api.jar`
--function Test.check --max-nondet-string-length 50 --unwind 50 --java-assume-inputs-non-null --cp `../../../../scripts/format_classpath.sh . ../../../lib/java-models-library/target/core-models.jar ../../../lib/java-models-library/target/cprover-api.jar` --sat-solver cadical
VERIFICATION SUCCESSFUL
^EXIT=0$
^SIGNAL=0$
--
--
This test takes approximately 3 minutes when using MiniSat, and less than 1
minute when using CaDiCaL.
5 changes: 4 additions & 1 deletion jbmc/regression/jbmc-strings/java_easychair/test.desc
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
THOROUGH
easychair
--max-nondet-string-length 1000
--max-nondet-string-length 1000 --sat-solver cadical
^EXIT=10$
^SIGNAL=0$
^\[.*assertion\.1\].* line 30.* FAILURE$
--
--
This test takes approximately 2 minutes when using MiniSat, and just 20 seconds
when using CaDiCaL.
Original file line number Diff line number Diff line change
@@ -1,9 +1,12 @@
THOROUGH
Test
--max-nondet-string-length 10 --cp `../../../../scripts/format_classpath.sh . ../../../lib/java-models-library/target/core-models.jar ../../../lib/java-models-library/target/cprover-api.jar` --cp `../../../../scripts/format_classpath.sh . ../../../lib/java-models-library/target/core-models.jar ../../../lib/java-models-library/target/cprover-api.jar` --function Test.testMe --cp `../../../../scripts/format_classpath.sh . ../../../lib/java-models-library/target/core-models.jar ../../../lib/java-models-library/target/cprover-api.jar`
--max-nondet-string-length 10 --cp `../../../../scripts/format_classpath.sh . ../../../lib/java-models-library/target/core-models.jar ../../../lib/java-models-library/target/cprover-api.jar` --cp `../../../../scripts/format_classpath.sh . ../../../lib/java-models-library/target/core-models.jar ../../../lib/java-models-library/target/cprover-api.jar` --function Test.testMe --cp `../../../../scripts/format_classpath.sh . ../../../lib/java-models-library/target/core-models.jar ../../../lib/java-models-library/target/cprover-api.jar` --sat-solver cadical
^EXIT=10$
^SIGNAL=0$
^\[.*assertion.1\].* line 12.* FAILURE$
^\[.*assertion.2\].* line 14.* SUCCESS$
--
non equal types
--
This test takes approximately 45 minutes when using MiniSat, but less than 1
minute when using CaDiCaL.
6 changes: 3 additions & 3 deletions regression/cbmc/Float-equality1/test_equality.desc
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
THOROUGH
main.c
-DEQUALITY
-DEQUALITY --sat-solver cadical
^EXIT=0$
^SIGNAL=0$
^VERIFICATION SUCCESSFUL$
--
^warning: ignoring
--
Takes approximately 1000 seconds to complete when using the SAT back-end (and
Minisat2). The SMT solver completes this task in less than 0.1 seconds.
See #4337.
Minisat2). CaDiCaL solves the problem in less than 2 minutes. The SMT solver
completes this task in less than 0.1 seconds. See #4337.
5 changes: 4 additions & 1 deletion regression/cbmc/gcc_popcount2/test.desc
Original file line number Diff line number Diff line change
@@ -1,10 +1,13 @@
THOROUGH
main.c

--sat-solver cadical
^EXIT=10$
^SIGNAL=0$
^VERIFICATION FAILED$
\[main\.assertion\.\d+\] line 39 assertion sizeof\(ull\) != sizeof\(unsigned int\) && pop4\(ull\) == __builtin_popcount\(ull\): FAILURE$
^\*\* 1 of 3 failed
--
^warning: ignoring
--
MiniSat takes approximately 1 hour on this test while CaDiCaL completes in under
3 minutes.