Skip to content
C Bounded Model Checker
C++ C Java Scilab Objective-J Yacc Other
Branch: develop
Clone or download
smowton Merge pull request #5051 from smowton/smowton/cleanup/cfg-interface
 cfgt: introduce and use a public interface when interacting with the entry map [blocks: 5049, 5059]
Latest commit e7f2930 Aug 24, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.githooks Make the pre-commit hook report non-temporary path names (#477) Feb 2, 2017
.github Include User Guide item in pull request template Nov 15, 2018
cmake Add DownloadProject cmake script Sep 27, 2017
doc Add a description of the new feature in the manual Aug 9, 2019
integration/xen Fix Xen integration test Mar 6, 2019
jbmc
pkg/arch Add CBMC package build file for Arch Linux Apr 26, 2017
regression Merge pull request #4985 from nchong-at-aws/insert-final-assert-false… Aug 19, 2019
scripts Change how we check doxygen version Aug 23, 2019
src cfgt: introduce and use a public interface when interacting with the … Aug 23, 2019
unit Merge pull request #5030 from diffblue/unit-opX Aug 22, 2019
.clang-format Enable clang-format for Java Jul 18, 2019
.clang-format-ignore Use .clang-format-ignore Jan 29, 2019
.dir-locals.el Move Emacs style file so it affects unit tests as well as main source Aug 16, 2017
.editorconfig Don't remove trailing spaces from patch files Nov 29, 2016
.gitattributes added test.desc as text Aug 15, 2016
.gitignore Update .gitignore for global Eclipse projects Jun 5, 2019
.gitmodules Use submodule to download java-models-library Jul 9, 2018
.travis.yml Update Doxygen version Aug 22, 2019
CHANGELOG Add new goto-instrument option print-global-state-size Jun 20, 2018
CMakeLists.txt Integrate STL parser into CBMC executable May 31, 2019
CODEOWNERS STL code owners Jul 8, 2019
CODING_STANDARD.md Update coding standard for function brief documentation May 9, 2019
COMPILING.md Update .gitignore for global Eclipse projects Jun 5, 2019
LICENSE update year Sep 5, 2016
MINI-PROJECTS.md Add CBMC Mini Projects list Feb 6, 2019
README.md Add codecov badge May 30, 2019
buildspec-linux-clang-3.8.yml Regularise the AWS CodeBuild Clang buildspecs Jun 6, 2019
buildspec-linux-clang.yml switch codebuild from clang 7 to clang 8 Jun 5, 2019
buildspec-linux-cmake-gcc-cov.yml Remove entries about library code from lcov coverage file Aug 5, 2019
buildspec-linux-cmake-gcc.yml Suppress color output on AWS CodeBuild May 10, 2019
buildspec-linux-make-gcc-cov.yml Remove entries about library code from lcov coverage file Aug 5, 2019
buildspec-msbuild.yml Test build of vcxproj files in CI as a separate CodeBuild job May 31, 2019
buildspec-windows.yml Revert "Test build of vcxproj files in CI" May 31, 2019
buildspec.yml Move LIBCXX_DEBUG flag from Travis to AWS codebuild May 30, 2019
gcloud-travis-cbmc.json.enc Add encrypted GCloud key for Travis Mar 20, 2018

README.md

Build Status Build Status Build Status Build Status Build Status

CProver Wiki

CProver Documentation

About

CBMC is a Bounded Model Checker for C and C++ programs. It supports C89, C99, most of C11 and most compiler extensions provided by gcc and Visual Studio. It also supports SystemC using Scoot. It allows verifying array bounds (buffer overflows), pointer safety, exceptions and user-specified assertions. Furthermore, it can check C and C++ for consistency with other languages, such as Verilog. The verification is performed by unwinding the loops in the program and passing the resulting equation to a decision procedure.

For full information see cprover.org.

Versions

Get the latest release

  • Releases are tested and for production use.

Get the current develop version: git clone https://github.com/diffblue/cbmc.git

  • Develop versions are not recommended for production use.

Report bugs

If you encounter a problem please file a bug report:

Contributing to the code base

  1. Fork the repository
  2. Clone the repository git clone git@github.com:YOURNAME/cbmc.git
  3. Create a branch from the develop branch (default branch)
  4. Make your changes (follow the coding guidelines)
  5. Push your changes to your branch
  6. Create a Pull Request targeting the develop branch

New contributors can look through the mini projects page for small, focussed feature ideas.

License

4-clause BSD license, see LICENSE file.

You can’t perform that action at this time.