Go to file
Peter Schrammel c3931974d7 Regression tests for not instrumenting built-ins 2017-04-08 15:01:59 +01:00
.githooks Make the pre-commit hook report non-temporary path names (#477) 2017-02-02 20:39:09 +00:00
doc Merge pull request #300 from theyoucheng/case-study 2017-04-03 14:16:09 +01:00
regression Regression tests for not instrumenting built-ins 2017-04-08 15:01:59 +01:00
scripts Check that filter_lint_by_diff.py exists 2017-03-21 14:09:44 +00:00
src fix for wrong refactoring to ranged-for 2017-04-07 12:18:39 +01:00
unit map with sharing 2017-03-18 19:13:48 +00:00
.editorconfig Don't remove trailing spaces from patch files 2016-11-29 17:26:59 +00:00
.gitattributes added test.desc as text 2016-08-15 12:35:10 +01:00
.gitignore Replace irep_ids_convert program with preprocessor 2017-04-04 16:52:24 +01:00
.travis.yml Speed up OSX builds on Travis. 2017-04-07 16:16:40 +01:00
CHANGELOG Merge branch 'master' into reachability-slice 2017-04-04 13:40:12 +01:00
CODING_STANDARD Merge pull request #415 from thk123/feature/lint-check-multi-line-function-call 2017-01-11 18:30:14 +00:00
COMPILING update compilation instructions 2017-04-02 12:15:25 +01:00
LICENSE update year 2016-09-05 17:05:55 +01:00
README.md Adding build icon for AppVeyor 2017-04-07 14:04:23 +01:00
appveyor.yml Add appveyor.yml 2017-04-07 22:23:50 +01:00

README.md

Build Status Build Status

CProver Wiki

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.

License

4-clause BSD license, see LICENSE file.