Skip to content

Commit 957c760

Browse files
authored
Use CBMC 6.0.0 (#1128)
**Issue:** The proofs broke unexpectedly when CBMC 6.0.0 was released, since we were using "latest". We pinned the version back to 5.95.1 in a [recent PR](#1124) to get CI working again. **Description of changes:** - Upgrade to CBMC 6.0.0 - For all tools used in proofs, stop using "latest". Pin the exact version, so we're not caught off-guard by unexpected upgrades again in the future - Fix proof code to work with CBMC 6
1 parent 7f3b33e commit 957c760

File tree

3 files changed

+10
-7
lines changed

3 files changed

+10
-7
lines changed
Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
1-
cadical-tag: latest
2-
cbmc-version: "5.95.1"
3-
cbmc-viewer-version: latest
4-
kissat-tag: latest
5-
litani-version: latest
1+
# Use exact versions (instead of "latest") so we're not broken by surprise upgrades.
2+
cadical-tag: "rel-2.0.0" # tag of latest release: https://github.com/arminbiere/cadical/releases
3+
cbmc-version: "6.0.0" # semver of latest release: https://github.com/diffblue/cbmc/releases
4+
cbmc-viewer-version: "3.8" # semver of latest release: https://github.com/model-checking/cbmc-viewer/releases
5+
kissat-tag: "rel-3.1.1" # tag of latest release: https://github.com/arminbiere/kissat/releases
6+
litani-version: "1.29.0" # semver of latest release: https://github.com/awslabs/aws-build-accumulator/releases
67
proofs-dir: verification/cbmc/proofs
78
run-cbmc-proofs-command: ./run-cbmc-proofs.py

verification/cbmc/proofs/Makefile.common

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -465,7 +465,6 @@ COMMA :=,
465465
# Set C compiler defines
466466

467467
CBMCFLAGS += --object-bits $(CBMC_OBJECT_BITS)
468-
COMPILE_FLAGS += --object-bits $(CBMC_OBJECT_BITS)
469468

470469
DEFINES += -DCBMC=1
471470
DEFINES += -DCBMC_OBJECT_BITS=$(CBMC_OBJECT_BITS)

verification/cbmc/sources/utils.c

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -170,4 +170,7 @@ uint64_t uninterpreted_hasher(const void *a) {
170170
return __CPROVER_uninterpreted_hasher(a);
171171
}
172172

173-
bool uninterpreted_predicate_fn(uint8_t value);
173+
bool __CPROVER_uninterpreted_predicate_uint8_t(uint8_t);
174+
bool uninterpreted_predicate_fn(uint8_t value) {
175+
return __CPROVER_uninterpreted_predicate_uint8_t(value);
176+
}

0 commit comments

Comments
 (0)