Skip to content
SPECIFICTION
Get listed

CBMC vs CPAchecker

CBMC

cprover.org

CPAchecker

cpachecker.sosy-lab.org

Side by side

FigureCBMCCPAchecker
Price fromFreeFree
Free planYesYes
Free trial——
Open source——
WindowsYesYes
macOSYesYes
LinuxYesYes
Self-hosted—Yes
Plans published11
Spec score · C and C++ Static Analysis Tools8.7 (#2)8.0 (#10)
PurposeCBMC is a bounded model checker for C and C++ programs.CPAchecker is a tool for configurable software verification based on configurable program analysis concepts.
SupportThe CBMC page directs questions to Daniel Kroening, and the CPROVER manual links to Google Groups support and announcements.The project directs installation questions, bug reports, and suggestions to its CPAchecker users mailing list, and also provides an issue tracker.

Plans

CBMC

  • CBMCFree

CBMC pricing →

CPAchecker

  • CPAcheckerFree

CPAchecker pricing →

In their own words

CBMC

CBMC is a bounded model checker for C and C++ programs, available for Linux, macOS, and Windows. It checks memory safety, including array bounds and pointer use, along with several forms of undefined behavior and user-specified assertions. Its language range includes C89, C99, most of C11 and C17, and extensions from GCC, Clang, and Visual Studio. CBMC verifies by unwinding program loops and passing the resulting equation to a decision procedure. It can check C and C++ I/O equivalence with languages such as Verilog, and generate test cases for branch, decision, path, and MC/DC coverage. Listed language features include arrays, dynamic memory, nondeterminism, assumptions, assertions, and selected C++ features such as classes, templates, and STL containers. A MiniSat-based bit-vector solver is included; Boolector, CVC5, and Z3 are supported but must be installed separately. CBMC is free at free under a BSD 4-clause license. The Windows and macOS distributions are command-line tools without a GUI.

Visit cprover.org

CPAchecker

CPAchecker is a configurable software verification tool based on configurable program analysis concepts. It accepts C and SV-LIB inputs, lists predicate analysis for SV-LIB programs, and supports invariants, counterexamples, and proof artifacts. It can also validate termination witnesses in YAML formats 2.1 and 1.0. The project lists a hybrid verification method and provides a self-hosted deployment. CPAchecker is free software under the Apache 2.0 License. Version 4.2.2, released in December 2025, is available as Unix and Windows ZIP archives; Debian and Ubuntu users can install it from the SoSy-Lab APT repository, and a Docker image is available. Java 21 or later is required as of version 4.2. An older version, 1.6.1, can be accessed through a web interface, where some functions are unavailable in the restricted environment. Documentation includes installation instructions, tutorials, and getting-started guidance. Installation questions, bug reports, and suggestions can go to the users mailing list or issue tracker. The project is based in Munich, Germany.

Visit cpachecker.sosy-lab.org