Go to file
Kareem Khazem 3a58226cf4 [docs 3/5] Add per-directory high-level docs
This commit introduces a module.md file for several CProver directories.
Each of these is turned into a page under the Modules section in the
generated Doxygen documentation.

The intention is that developers wishing to contribute to one specific
aspect of CProver can get a high-level architectural overview of a
particular directory; the documentation describes the input to and
output from that directory, and introduces the main classes or entry
points.

By way of a "table of contents," the file cbmc/module.md contains a
diagram describing how each of the directories is invoked by CBMC in
order, and the nodes of the diagram hyperlink to the appropriate
documentation. The intention is that developers wishing to contribute to
CBMC as a whole can understand the entire process, from source files to
bug reports and counterexample production.

This documentation is derived from Mark Tuttle's notes on a talk given
by Michael Tautschnig.
2017-07-10 12:45:56 +01:00
.githooks Make the pre-commit hook report non-temporary path names (#477) 2017-02-02 20:39:09 +00:00
doc [docs 3/5] Add per-directory high-level docs 2017-07-10 12:45:56 +01:00
pkg/arch Add CBMC package build file for Arch Linux 2017-04-26 16:29:00 +01:00
regression Merge pull request #988 from tautschnig/fix-unwind-count 2017-07-04 18:01:15 +01:00
scripts Fix removal of first component 2017-06-28 11:25:07 +02:00
src [docs 3/5] Add per-directory high-level docs 2017-07-10 12:45:56 +01:00
unit Merge pull request #927 from NathanJPhillips/bugfix/mini_bdd-operators 2017-05-17 10:52:03 +01: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 Updated doxyfile to a modern version 2017-06-30 19:39:42 +01:00
.travis.yml Updated Travis to catch warnings in unit tests 2017-05-16 17:38:15 +01:00
CHANGELOG dump-c: Replace --use-system-headers by --no-system-headers 2017-07-03 15:24:36 +01:00
CODING_STANDARD Get the linter to check for assertions and give a deprecated warning. 2017-06-13 16:12:12 +01:00
COMPILING GCC 6 is no longer required 2017-05-22 17:35:10 +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 [goto-cc] Add support for ARM-enabling flags 2017-05-23 14:23:43 +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.