1
0
mirror of https://github.com/FreeRTOS/coreMQTT synced 2025-05-13 21:59:40 +08:00
Dakshit Babbar 8ec72d6ef7
Add CBMC Proofs for the new APIs (#315)
Description
-----------
This PR:
Adds CBMC proofs for the new APIs added for publish retransmits in #308 

Test Steps
-----------
Proofs run without any errors or warnings

Checklist:
----------
- [x] I have tested my changes. No regression in existing tests.
- [x] I have modified and/or added unit-tests to cover the code changes
in this Pull Request.

Related Issue
-----------
<!-- If any, please provide issue ID. -->
By submitting this pull request, I confirm that you can use, modify,
copy, and redistribute this contribution, under the terms of your
choice.

---------

Co-authored-by: DakshitBabbar <dakshba@amazon.com>
Co-authored-by: Gaurav-Aggarwal-AWS <33462878+aggarg@users.noreply.github.com>
2025-03-05 16:49:34 +05:30
..
2023-03-03 22:22:22 +00:00

CBMC proofs

This directory contains the CBMC proofs. Each proof is in its own directory.

This directory includes four Makefiles.

One Makefile describes the basic workflow for building and running proofs:

  • Makefile.common:
    • make: builds the goto binary, does the cbmc property checking and coverage checking, and builds the final report.
    • make goto: builds the goto binary
    • make result: does cbmc property checking
    • make coverage: does cbmc coverage checking
    • make report: builds the final report

Three included Makefiles describe project-specific settings and can override definitions in Makefile.common:

  • Makefile-project-defines: definitions like compiler flags required to build the goto binaries, and definitions to override definitions in Makefile.common.
  • Makefile-project-targets: other make targets needed for the project
  • Makefile-project-testing: other definitions and targets needed for unit testing or continuous integration.