Skip to content

Commit 3a68d7f

Browse files
committed
Use CaDiCaL for selected THOROUGH regression tests
This is to reduce the overall time of the check-ubuntu-20_04-cmake-gcc-THOROUGH CI task. Test execution times are as follows: * Float-equality1/test_equality.desc: * cadical: 66 seconds * minisat: 695 seconds * VerifStringLastIndexOf/test.desc: * cadical: 49 seconds * minisat: 158 seconds * gcc_popcount2/test.desc: * cadical: 151 seconds * minisat: 3573 seconds * java_easychair/test.desc: * cadical: 19 seconds * minisat: 109 seconds * java_parselong_unknown_radix/test.desc: * cadical: 46 seconds * minisat: 2569 seconds
1 parent a3dc29d commit 3a68d7f

File tree

6 files changed

+21
-8
lines changed

6 files changed

+21
-8
lines changed

.github/workflows/pull-request-checks.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -411,7 +411,7 @@ jobs:
411411
git checkout -- memory_allocation1 printf1 union12 va_list3
412412
../test.pl -c "cbmc --cprover-smt2" -I broken-smt-backend -K
413413
414-
# This job takes approximately 73 to 95 minutes
414+
# This job takes approximately 8 to 30 minutes
415415
check-ubuntu-20_04-cmake-gcc-THOROUGH:
416416
runs-on: ubuntu-20.04
417417
steps:
Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
THOROUGH
22
Test
3-
--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`
3+
--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
44
VERIFICATION SUCCESSFUL
55
^EXIT=0$
66
^SIGNAL=0$
7+
--
8+
--
9+
This test takes approximately 3 minutes when using MiniSat, and less than 1
10+
minute when using CaDiCaL.
Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
THOROUGH
22
easychair
3-
--max-nondet-string-length 1000
3+
--max-nondet-string-length 1000 --sat-solver cadical
44
^EXIT=10$
55
^SIGNAL=0$
66
^\[.*assertion\.1\].* line 30.* FAILURE$
77
--
8+
--
9+
This test takes approximately 2 minutes when using MiniSat, and just 20 seconds
10+
when using CaDiCaL.
Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
11
THOROUGH
22
Test
3-
--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`
3+
--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
44
^EXIT=10$
55
^SIGNAL=0$
66
^\[.*assertion.1\].* line 12.* FAILURE$
77
^\[.*assertion.2\].* line 14.* SUCCESS$
88
--
99
non equal types
10+
--
11+
This test takes approximately 45 minutes when using MiniSat, but less than 1
12+
minute when using CaDiCaL.
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
THOROUGH
22
main.c
3-
-DEQUALITY
3+
-DEQUALITY --sat-solver cadical
44
^EXIT=0$
55
^SIGNAL=0$
66
^VERIFICATION SUCCESSFUL$
77
--
88
^warning: ignoring
99
--
1010
Takes approximately 1000 seconds to complete when using the SAT back-end (and
11-
Minisat2). The SMT solver completes this task in less than 0.1 seconds.
12-
See #4337.
11+
Minisat2). CaDiCaL solves the problem in less than 2 minutes. The SMT solver
12+
completes this task in less than 0.1 seconds. See #4337.
Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
11
THOROUGH
22
main.c
3-
3+
--sat-solver cadical
44
^EXIT=10$
55
^SIGNAL=0$
66
^VERIFICATION FAILED$
77
\[main\.assertion\.\d+\] line 39 assertion sizeof\(ull\) != sizeof\(unsigned int\) && pop4\(ull\) == __builtin_popcount\(ull\): FAILURE$
88
^\*\* 1 of 3 failed
99
--
1010
^warning: ignoring
11+
--
12+
MiniSat takes approximately 1 hour on this test while CaDiCaL completes in under
13+
3 minutes.

0 commit comments

Comments
 (0)