summaryrefslogtreecommitdiffstats
path: root/development/cbmc/README
diff options
context:
space:
mode:
Diffstat (limited to 'development/cbmc/README')
-rw-r--r--development/cbmc/README37
1 files changed, 37 insertions, 0 deletions
diff --git a/development/cbmc/README b/development/cbmc/README
new file mode 100644
index 0000000000..07735ff04f
--- /dev/null
+++ b/development/cbmc/README
@@ -0,0 +1,37 @@
+CBMC is a Bounded Model Checker for C and C++ programs.
+It supports C89, C99, most of C11/C17 and most compiler extensions
+provided by gcc, clang, and Visual Studio. A variant of CBMC that
+analyses Java bytecode is available as JBMC.
+[Set JBMC=ON to enable JBMC.]
+
+CBMC verifies memory safety (which includes array bounds checks
+and checks for the safe use of pointers), checks for exceptions,
+checks for various variants of undefined behavior, and
+user-specified assertions. Furthermore, it can check C and C++ for
+I/O equivalence 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.
+
+CBMC comes with a built-in solver for bit-vector formulas that is
+based on MiniSat. As an alternative, CBMC has featured support for
+external SMT solvers since version 3.3. The solvers we recommend
+are (in no particular order) Boolector, CVC5 and Z3. Note that
+these solvers need to be installed separately and have different
+licensing conditions.
+[This SlackBuild builds Cadical as the internal solver.]
+
+If you need a Model Checker for Verilog or SMV files, consider
+EBMC. For Java, use JBMC.
+
+This research was sponsored by the Semiconductor Research
+Corporation (SRC) under contract no. 99-TJ-684, the National
+Science Foundation (NSF) under grant no. CCR-9803774, the Office
+of Naval Research (ONR), the Naval Research Laboratory (NRL) under
+contract no. N00014-01-1-0796, and by the Defense Advanced
+Research Projects Agency, and the Army Research Office (ARO) under
+contract no. DAAD19-01-1-0485, and the General Motors
+Collaborative Research Lab at CMU. The views and conclusions
+contained in this document are those of the author and should not
+be interpreted as representing the official policies, either
+expressed or implied, of SRC, NSF, ONR, NRL, DOD, ARO, or the U.S.
+government.