Skip to content

Latest commit

 

History

History
42 lines (33 loc) · 1.85 KB

user_guide.md

File metadata and controls

42 lines (33 loc) · 1.85 KB

\page user_guide User Guide

For a quick start with CBMC on simple problems, read

For a quick start with CBMC on large software projects, read

Two third-party tools simplify using CBMC:

  • CBMC Viewer scans the output of CBMC and produces a browsable summary of its findings.
  • CBMC Starter Kit makes it easy to add CBMC verification to an existing software project.

Key concepts:

  • The \ref reference_guide describes CBMC and the CBMC tool chain
  • CBMC primitives and memory primitives are useful when writing CBMC assumptions and CBMC assertions.
  • \ref goto-programs "goto programs" are the intermediate representation of C code used by the CBMC tool chain
  • \ref goto-cc "goto-cc" (man page) compiles C into the goto program used by CBMC. It is intended to be a drop-in replacement for gcc and cl.
  • \ref goto-instrument "goto-instrument" (man page) is a collection of tools for modifying goto programs. One example is unwinding loops in a goto program.
  • \ref goto-analyzer "goto-analyser" (man page) is a collection of tools for analyzing goto programs. One example is finding the set of reachable functions in a goto program.

Please \ref contributing_documentation "contribute documentation" when you find mistakes or missing information to help us improve this user guide.