CBMC starter kit makes it easy to add CBMC verification to a software project
Project description
CBMC starter kit
This is a starter kit for writing CBMC proofs.
CBMC is a model checker for C. This means that CBMC will explore all possible paths through your code on all possible inputs, and will check that all assertions in your code are true. CBMC can also check for the possibility of memory safety errors (like buffer overflow) and for instances of undefined behavior (like signed integer overflow). CBMC is a bounded model checker, however, which means that the set of all possible inputs may have to be restricted to all inputs of some bounded size.
The starter kit overview gives a fairly complete example of how to use the starter kit to add CBMC verification to an existing software project.
The starter kit wiki is currently the primary user guide for the starter kit.
Installation
The starter kit is distributed as both a brew package and a pip package, and the release page gives installation instructions that we repeat here.
brew installation
On MacOS, we recommend using brew to install the starter kit with
brew tap aws/tap
brew install cbmc-starter-kit
and upgrade to the latest version with
brew upgrade cbmc-starter-kit
In these instructions, the first line taps an AWS repository that hosts the starter kit. The brew home page gives instructions for installing brew.
pip installation
On any operating system with python installed, use pip to install the starter kit with
python3 -m pip install cbmc-starter-kit
and upgrade to the latest version with
python3 -m pip install --upgrade cbmc-starter-kit
The python download page gives instructions for installing python.
Security
See CONTRIBUTING for more information.
License
This project is licensed under the Apache-2.0 License.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file cbmc-starter-kit-2.10.tar.gz
.
File metadata
- Download URL: cbmc-starter-kit-2.10.tar.gz
- Upload date:
- Size: 40.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.8.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 65b36edd6a269d1fde34fc7643e69d52a462dd878a265d8aa43662c97f5299ee |
|
MD5 | edd9eec54330b3e9e6907ad35b6a99d6 |
|
BLAKE2b-256 | 15e12b0714b33baa5dc2221cf428f58aaddef8e308dd9d41d74145a0d3f1d8e2 |
File details
Details for the file cbmc_starter_kit-2.10-py3-none-any.whl
.
File metadata
- Download URL: cbmc_starter_kit-2.10-py3-none-any.whl
- Upload date:
- Size: 65.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.8.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7f18a78ab3dab412bffc6d059ccda55a90c031b4a34f425f9fbc4f7584e4cc0d |
|
MD5 | b9b7efe00d5b9614c7822953f0abafbe |
|
BLAKE2b-256 | 7ee552192467b4cfb9f0b5cfeb7e6f4fa0081564f93af2d66cf92e933c413203 |