EVERYTHING XIAOMI
Get listed

CBMC

CBMC is a free bounded model checker for C and C++ programs.

Place
#17 of 34
Score
6.0
CBMC's website

What CBMC is

CBMC is a free bounded model checker for C and C++ programs. It explores possible execution paths and checks assertions, including array bounds, pointer safety, exceptions, user-specified assertions, and some undefined behavior such as signed integer overflow. Its method unwinds loops and passes the resulting equation to a decision procedure, so analysis may require inputs to be limited to a bounded size. The project lists support for C89, C99, most of C11, C17, C23, many GCC and Visual Studio extensions, and SystemC using Scoot; listed input languages also include Java bytecode. CBMC supports contracts and can produce counterexamples. Its incremental SMT2 backend can use an SMT-LIB 2.6-compliant solver, with Z3 and CVC5 given as examples. Distribution options include macOS Homebrew instructions, Ubuntu DEB packages, Windows MSI installers, and Docker images. The tool is licensed under the 4-clause BSD license and can be used in routine development and continuous integration. The project recommends released versions for production, not develop versions.

Good

  • Checks array bounds, pointer safety, and exceptions.
  • Supports many C standards and extensions.
  • Can produce counterexamples.
  • Free under the 4-clause BSD license.

Watch out

  • Analysis may require restricting inputs to a bounded size.
  • Develop versions are not recommended for production use.

Who it suits

CBMC suits developers working with C or C++ who want to check assertions and safety properties during development or continuous integration. It may also suit teams that can bound inputs for analysis and use a supported solver.

Verdict

CBMC offers a free way to examine bounded program behavior and check a range of assertions. Its bounded-input requirement is important when deciding whether it fits a verification task.

Plans and prices

From CBMC's own pricing page, checked 4 Oct 2026.

All about pricing
PlanPriceWhat it gives you
CBMCFree4-clause BSD licensed open-source software

The facts

Each one read from CBMC's own pages, with the date it was checked.

What it does

Bounded analysis
CBMC may require restricting inputs to a bounded size, and its verification unwinds loops before passing the resulting equation to a decision procedure.checked 4 Oct 2026
Build integration
goto-cc can replace gcc or cl.exe in Makefiles to collect project models for verification.checked 4 Oct 2026
Continuous integration
The user guide describes using CBMC as part of routine software development and continuous integration.checked 4 Oct 2026
Distribution
The release page provides macOS Homebrew instructions, Ubuntu DEB packages, Windows MSI installers, and Docker container images.checked 4 Oct 2026
Language support
The repository states support for C89, C99, most of C11, C17, C23, many GCC and Visual Studio extensions, and SystemC using Scoot.checked 4 Oct 2026
License
The repository identifies CBMC as licensed under the 4-clause BSD license.checked 4 Oct 2026
Purpose
CBMC is a bounded model checker for C and C++ programs that explores possible execution paths and checks assertions.checked 4 Oct 2026
Related tools
The user guide names CBMC Viewer and CBMC Starter Kit as third-party tools for summarizing findings and adding verification to a project.checked 4 Oct 2026
Release guidance
The repository says released versions are tested and intended for production use, while develop versions are not recommended for production use.checked 4 Oct 2026
Safety checks
It can check array bounds, pointer safety, exceptions, user-specified assertions, and some undefined behavior such as signed integer overflow.checked 4 Oct 2026
Solver support
CBMC supports an incremental SMT2 backend that can use an SMT-LIB 2.6 compliant solver, with examples for Z3 and CVC5.checked 4 Oct 2026
Support
The repository asks users encountering problems to file a bug report as a GitHub issue.checked 4 Oct 2026

Where it runs

Platforms
The installation guide points to installation instructions for macOS, Ubuntu, Windows, and Docker.checked 4 Oct 2026

Alternatives to CBMC

All alternatives
  1. 1Lean logo

    Lean

    Free planWebLinuxmacOSWindows
    6.9Free plan
  2. 2Rocq logo

    Rocq

    Free planWebExtensionLinuxmacOS
    6.9Free plan
  3. 3cvc5 logo

    cvc5

    Free planWebAPILinuxmacOS
    6.8Free plan
  4. 4

    Why3

    Free planWebAPILinuxSelf-hosted
    6.8Free plan
  5. 5

    PVS

    Free planLinuxmacOSWindows
    6.6Free plan
  6. 6

    Z3

    Free planAndroidWebAPILinux
    6.6Free plan