1. 1. CBMC quick start
    1. 1.1. CBMC installation
    2. 1.2. CBMC as unit testing
    3. 1.3. CBMC as debugging
    4. 1.4. CBMC as proof
  2. 2. CBMC proofs
    1. 2.1. Running cbmc
    2. 2.2. Loop unwinding
    3. 2.3. Property checking
    4. 2.4. Coverage checking
    5. 2.5. Proof harnesses
    6. 2.6. Proof assumptions
    7. 2.7. Goto programs
  3. 3. CBMC proof projects
  4. 4. CBMC viewer
  5. 5. Litani
  6. 6. Continuous integration
  7. 7. Frequently asked questions
    1. 7.1. How does CBMC work?
    2. 7.2. What is loop unwinding?
    3. 7.3. How do memory pointers work?
    4. 7.4. How do function pointers work?
    5. 7.5. How does malloc work?
    6. 7.6. How do I write a good stub?
    7. 7.7. What do I do when CBMC won't stop?
  8. 8. CBMC project management
    1. 8.1. Project planning
    2. 8.2. Writing a good proof
    3. 8.3. Debugging an error trace
    4. 8.4. Coding for verification
    5. 8.5. Proof evaluation
  9. 9. CBMC projects
  10. 10. CBMC resources

CBMC

Frequently asked questions

Here are answers to some frequently-asked questions about CBMC. Please send us any questions you have by filing an issue with us on GitHub.

  • How does CBMC work?
  • What is loop unwinding?
  • How do memory pointers work?
  • How do function pointers work?
  • How does malloc work?
  • What is a proof assumption?
  • How do I write a good stub?
  • What do I do when CBMC won't stop?