Skip to content

Commit c7f5440

Browse files
committed
Adjust proof tooling to support CBMC v6
With CBMC v6, unwinding assertions are enabled by default, and object bits no longer need to be set at compile time. Update various build rules to use the latest template as provided with CBMC starter kit. Also fixes use of undefined functions by including the required sources in proof builds.
1 parent efe1b51 commit c7f5440

File tree

12 files changed

+225
-185
lines changed

12 files changed

+225
-185
lines changed

.github/workflows/ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -194,7 +194,7 @@ jobs:
194194
- name: Set up CBMC runner
195195
uses: FreeRTOS/CI-CD-Github-Actions/set_up_cbmc_runner@main
196196
with:
197-
cbmc_version: "5.95.1"
197+
cbmc_version: "6.3.1"
198198
- name: Run CBMC
199199
uses: FreeRTOS/CI-CD-Github-Actions/run_cbmc@main
200200
with:

test/cbmc/proofs/MQTTAgentCommand_Connect/Makefile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,6 @@ PROOF_SOURCES += $(PROOFDIR)/$(HARNESS_FILE).c
1818
PROOF_SOURCES += $(SRCDIR)/test/cbmc/sources/mqtt_agent_cbmc_state.c
1919
PROJECT_SOURCES += $(SRCDIR)/source/core_mqtt_agent_command_functions.c
2020

21+
PROJECT_SOURCES += $(SRCDIR)/source/core_mqtt_agent.c
22+
2123
include ../Makefile.common

test/cbmc/proofs/MQTTAgentCommand_Disconnect/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,5 +16,6 @@ UNWINDSET +=
1616

1717
PROOF_SOURCES += $(PROOFDIR)/$(HARNESS_FILE).c
1818
PROJECT_SOURCES += $(SRCDIR)/source/core_mqtt_agent_command_functions.c
19+
PROJECT_SOURCES += $(SRCDIR)/source/dependency/coreMQTT/source/core_mqtt.c
1920

2021
include ../Makefile.common

test/cbmc/proofs/MQTTAgentCommand_Ping/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,5 +16,6 @@ UNWINDSET +=
1616

1717
PROOF_SOURCES += $(PROOFDIR)/$(HARNESS_FILE).c
1818
PROJECT_SOURCES += $(SRCDIR)/source/core_mqtt_agent_command_functions.c
19+
PROJECT_SOURCES += $(SRCDIR)/source/dependency/coreMQTT/source/core_mqtt.c
1920

2021
include ../Makefile.common

test/cbmc/proofs/MQTTAgentCommand_Publish/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,5 +16,6 @@ UNWINDSET +=
1616

1717
PROOF_SOURCES += $(PROOFDIR)/$(HARNESS_FILE).c
1818
PROJECT_SOURCES += $(SRCDIR)/source/core_mqtt_agent_command_functions.c
19+
PROJECT_SOURCES += $(SRCDIR)/source/dependency/coreMQTT/source/core_mqtt.c
1920

2021
include ../Makefile.common

test/cbmc/proofs/MQTTAgentCommand_Subscribe/Makefile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@ UNWINDSET +=
1616

1717
PROOF_SOURCES += $(PROOFDIR)/$(HARNESS_FILE).c
1818
PROOF_SOURCES += $(SRCDIR)/test/cbmc/sources/mqtt_agent_cbmc_state.c
19+
PROJECT_SOURCES += $(SRCDIR)/source/core_mqtt_agent.c
1920
PROJECT_SOURCES += $(SRCDIR)/source/core_mqtt_agent_command_functions.c
21+
PROJECT_SOURCES += $(SRCDIR)/source/dependency/coreMQTT/source/core_mqtt.c
2022

2123
include ../Makefile.common

test/cbmc/proofs/MQTTAgentCommand_Unsubscribe/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,5 +17,6 @@ UNWINDSET +=
1717
PROOF_SOURCES += $(PROOFDIR)/$(HARNESS_FILE).c
1818
PROOF_SOURCES += $(SRCDIR)/test/cbmc/sources/mqtt_agent_cbmc_state.c
1919
PROJECT_SOURCES += $(SRCDIR)/source/core_mqtt_agent_command_functions.c
20+
PROJECT_SOURCES += $(SRCDIR)/source/dependency/coreMQTT/source/core_mqtt.c
2021

2122
include ../Makefile.common

test/cbmc/proofs/MQTTAgent_CancelAll/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,5 +39,6 @@ PROOF_SOURCES += $(SRCDIR)/test/cbmc/stubs/agent_command_pool_stubs.c
3939
PROOF_SOURCES += $(SRCDIR)/test/cbmc/stubs/agent_message_stubs.c
4040
PROOF_SOURCES += $(SRCDIR)/test/cbmc/stubs/core_mqtt_stubs.c
4141
PROJECT_SOURCES += $(SRCDIR)/source/core_mqtt_agent.c
42+
PROJECT_SOURCES += $(SRCDIR)/source/dependency/coreMQTT/source/core_mqtt.c
4243

4344
include ../Makefile.common

test/cbmc/proofs/MQTTAgent_CommandLoop/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,5 +53,6 @@ PROOF_SOURCES += $(SRCDIR)/test/cbmc/stubs/agent_command_functions_stub.c
5353
PROOF_SOURCES += $(SRCDIR)/test/cbmc/stubs/core_mqtt_stubs.c
5454

5555
PROJECT_SOURCES += $(SRCDIR)/source/core_mqtt_agent.c
56+
PROJECT_SOURCES += $(SRCDIR)/source/dependency/coreMQTT/source/core_mqtt.c
5657

5758
include ../Makefile.common

test/cbmc/proofs/MQTTAgent_Init/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,5 +17,6 @@ UNWINDSET +=
1717
PROOF_SOURCES += $(PROOFDIR)/$(HARNESS_FILE).c
1818

1919
PROJECT_SOURCES += $(SRCDIR)/source/core_mqtt_agent.c
20+
PROJECT_SOURCES += $(SRCDIR)/source/dependency/coreMQTT/source/core_mqtt.c
2021

2122
include ../Makefile.common

0 commit comments

Comments
 (0)