Freedom251 › Formal Verification Tools
CPAchecker

What CPAchecker is
CPAchecker is a configurable software verification tool for analyzing programs. It supports C and SV-LIB inputs, with predicate analysis listed for SV-LIB programs. The project identifies hybrid verification, invariants, counterexamples, and proof artifacts among its supported verification features; it can also validate termination witnesses in YAML formats 2.1 and 1.0. The free software is licensed under Apache 2.0 and is intended for self-hosted use on Linux, macOS, and Windows. The download page lists version 4.2.2, released in December 2025, and requires Java 21 or later. Debian and Ubuntu users can install through the SoSy-Lab APT repository, and a Docker image is available. Documentation includes installation guidance, tutorials, and a getting-started guide. An older 1.6.1 release can be used through a web interface, where restricted environment conditions make some features unavailable. The project is based in Munich, Germany.
Who it suits
CPAchecker suits developers and researchers who need to verify C or SV-LIB programs and can run a self-hosted tool. Its listed analysis and output support may fit work involving invariants, counterexamples, proof artifacts, or termination witnesses.
What it does well
- Free software under the Apache 2.0 License
- Supports C and SV-LIB inputs
- Produces counterexamples and proof artifacts
- Offers Debian and Ubuntu installation through APT
- Docker image is available
What to know first
- Requires Java 21 or later
- Older web version lacks some features
- Newer Linux configurations may require recent distributions
Limits
The online interface provides version 1.6.1, and some features are unavailable in its restricted environment. Version 4.2.2 requires Java 21 or later; after the next release, most configurations are expected to require Ubuntu 24.04, Debian 13, or newer.
Plans
| Plan | Billed and limits | Price |
|---|---|---|
| CPAchecker | Free software under the Apache 2.0 License · latest binary release 4.2.2 | Free |
As cpachecker.sosy-lab.org lists them, read 8 Oct 2026. The maker's own page has the final word.
Getting started
- Open https://cpachecker.sosy-lab.org/ and follow the download or installation guidance.
- Choose the version 4.2.2 Unix or Windows ZIP archive, or use the provided Docker image.
- On Debian or Ubuntu, install through the SoSy-Lab APT repository.
- Ensure Java 21 or later is available for CPAchecker 4.2.
- Use the documentation’s getting-started guidance and tutorials to begin.
CPAchecker is a configurable software-verification tool for engineers and researchers analyzing C or SV-LIB programs on infrastructure they control. It is best for formal-analysis work that needs both defect traces and inspectable proof output. The main trade-off is that its free, open-source distribution still requires a current Java runtime and a suitable self-hosted operating system.
Overview
CPAchecker applies configurable program-analysis concepts, so users can adapt verification setups to a task rather than accept one fixed checking strategy. Its documented scope includes hybrid verification, invariant-based formalisms, predicate analysis for SV-LIB programs, and validation of termination witnesses in YAML formats 2.1 and 1.0. Counterexamples show how a failure can be reached, while proof artifacts give reviewers material for examining a successful result. That makes it more useful than a bare pass/fail checker when findings must be investigated or justified.
Version 4.2.2 was released in December 2025. Unix and Windows ZIP archives provide direct installation, Debian and Ubuntu users can use the SoSy-Lab APT repository, and the Docker image sosylab/cpachecker:4.2.2 offers a repeatable container route. Development takes place on GitLab, with a read-only GitHub mirror.
Key features
Configurable hybrid verification
Hybrid analysis and invariant reasoning give technically experienced users room to shape analyses around their verification goals. This flexibility suits research workflows and engineering teams with established verification practices, but it also means CPAchecker is a tool to configure rather than a turnkey scanner for occasional users.
Evidence for findings
Counterexamples can make a reported defect concrete by showing a route to failure. Proof artifacts support review of a result judged correct. Together they help teams audit conclusions, reproduce discussions, and distinguish an actionable trace from an unexplained status.
Program and witness support
The listed input languages are C and SV-LIB. Predicate analysis is documented for SV-LIB programs, and termination-witness validation covers YAML 2.1 and 1.0. Choose it when those languages and artifact formats match your work; it is not a general-purpose analyzer for every programming language.
Documentation and support
Installation instructions, getting-started guidance, tutorials, and a counterexample report are linked from the documentation. Installation questions, bug reports, and suggestions go to the CPAchecker users mailing list, with an issue tracker for project issues. Those resources help a team establish a workflow, although support is community-oriented rather than a commercial service desk.
Pricing
| Plan | Price | Includes |
|---|---|---|
| CPAchecker | free | Free software under the Apache 2.0 License; latest binary release 4.2.2 |
There is no paid tier, trial period, seat charge, or usage quota stated for the project. The zero price and Apache 2.0 licensing make it practical for individual researchers, teaching, and teams able to operate their own verification environment. The trade-off is that you supply the infrastructure and technical administration; there is no hosted plan or commercial support tier in this offer.
Platforms
CPAchecker supports Linux, macOS, Windows, and self-hosted deployment. Unix and Windows ZIP archives cover local installation, while Debian and Ubuntu users have an APT option. Docker support can standardize deployment across machines. Java 21 or later is required from CPAchecker 4.2 onward. The project expects most configurations to require Ubuntu 24.04, Debian 13, or newer after the next release because of common SMT-solver system requirements, so teams maintaining older distributions should plan upgrades.
An older 1.6.1 version runs through a web interface, but some features are unavailable in that restricted environment. Treat it as a limited way to explore the project, not an equivalent replacement for the current self-hosted release.
Who it's for
CPAchecker is aimed at verification engineers, software researchers, and developers responsible for C or SV-LIB code who need configurable analyses and evidence they can inspect. It is also a sensible fit for organizations that require self-hosting or want to integrate a containerized verifier into their own infrastructure. Teams seeking a browser-first service, broad language coverage, or managed operations should look elsewhere.
Pros and cons
- Pro: Hybrid verification, invariants, counterexamples, and proof artifacts support both discovery and review of results.
- Pro: Free Apache 2.0 software avoids license fees and permits self-hosted use.
- Pro: ZIP archives, an APT repository, and a versioned Docker image provide several deployment paths.
- Con: C and SV-LIB input support limits its relevance for teams working primarily in other languages.
- Con: Java 21+ and increasingly current Linux distributions raise maintenance requirements.
- Con: The online interface is based on an older release and omits some features.
Alternatives
For a wider survey of related products, see C and C++ Static Analysis Tools and Formal Verification Tools.
- CBMC is another free command-line tool for Linux, macOS, and Windows; choose it when bounded checking with its BSD 4-clause license better matches your workflow.
- Infer is free static analysis with downloadable, source-build, Docker, and web deployment options; pick it when supported-language static analysis matters more than CPAchecker's verification artifacts.
- MATLAB Grader is free with a MATLAB license under maintenance and supports LMS integration with a qualifying academic license; choose it for MATLAB-centered assessment.
- Qodana offers a free Community plan and free trial across local, web, API, and self-hosted environments; consider it when you want a broader platform model rather than a dedicated verifier.
- Semgrep Code has a free edition with repository, contributor, and AI-credit limits; choose it when code and supply-chain scanning fit better than formal verification.
- Clang Static Analyzer is fully open source and analyzes C, C++, and Objective-C; it is a natural choice for Clang-oriented static analysis.
- Flawfinder is free GPL-2.0+ software for Linux, macOS, Windows, and self-hosting; choose it for a lightweight alternative.
- Parasoft SOAtest uses tailored pricing and offers a free trial; consider it when a commercial testing platform and broader deployment options are priorities.
Verdict
Choose CPAchecker if you need configurable, self-hosted verification of C or SV-LIB programs and value counterexamples plus proof artifacts without licensing cost. Look elsewhere if you need managed delivery, broad language coverage, or a current full-featured web experience without maintaining Java and operating-system prerequisites.
Verdict
CPAchecker provides a focused set of configurable program-verification capabilities, with multiple installation routes and supporting documentation. Check that your input language, Java version, and deployment environment match its requirements.
Questions
Is CPAchecker free?
Yes. It is free software under the Apache 2.0 License.
Which operating systems can I use?
The listed platforms are Linux, macOS, Windows, and self-hosted deployment. Version 4.2.2 has Unix and Windows ZIP archives, plus an APT repository route for Debian and Ubuntu.
What inputs does CPAchecker support?
Its listed input languages are C and SV-LIB. Predicate analysis support is also listed for SV-LIB programs.
Is there an online version?
An older version, 1.6.1, is available through a web interface. Some features are unavailable there because of the restricted environment.
What does CPAchecker require?
Java 21 or later is required as of version 4.2. After the next release, most configurations are expected to require Ubuntu 24.04, Debian 13, or newer.
Where can I get help or report a problem?
The project directs installation questions, bug reports, and suggestions to its CPAchecker users mailing list and issue tracker.
Facts from CPAchecker's own pages
- Analysis support
- The page lists predicate analysis support for SV-LIB programs and validation of termination witnesses in YAML formats 2.1 and 1.0. · cpachecker.sosy-lab.org, 8 Oct 2026
- Container support
- The project provides a Docker image named sosylab/cpachecker:4.2.2. · cpachecker.sosy-lab.org, 8 Oct 2026
- Development
- Development takes place on GitLab, and the download page also links to a read-only GitHub mirror. · cpachecker.sosy-lab.org, 8 Oct 2026
- Documentation
- The documentation page links to installation instructions, getting-started guidance, tutorials, and a counterexample report for a program with a bug found by CPAchecker. · cpachecker.sosy-lab.org, 8 Oct 2026
- Headquarters
- Munich, Germany · cpachecker.sosy-lab.org, 28 Sept 2026
- Linux installation
- Debian and Ubuntu users can install CPAchecker through the SoSy-Lab APT repository. · cpachecker.sosy-lab.org, 8 Oct 2026
- Newer Linux requirements
- The project says most configurations will require Ubuntu 24.04, Debian 13, or newer after the next release because of common SMT solver system requirements. · cpachecker.sosy-lab.org, 8 Oct 2026
- Online version
- An older version, 1.6.1, is available through a web interface, where some features are unavailable because of the restricted environment. · cpachecker.sosy-lab.org, 8 Oct 2026
- Purpose
- CPAchecker is a tool for configurable software verification based on configurable program analysis concepts. · cpachecker.sosy-lab.org, 8 Oct 2026
- Release
- The download page lists version 4.2.2, released in December 2025, with Unix and Windows ZIP archives. · cpachecker.sosy-lab.org, 8 Oct 2026
- Requirements
- The download page says Java 21 or later is required as of CPAchecker 4.2. · cpachecker.sosy-lab.org, 8 Oct 2026
- Security and compliance
- The download page identifies the license as Apache 2.0; it does not state a security certification or compliance standard. · cpachecker.sosy-lab.org, 8 Oct 2026
- Support
- The project directs installation questions, bug reports, and suggestions to its CPAchecker users mailing list, and also provides an issue tracker. · cpachecker.sosy-lab.org, 8 Oct 2026
Where CPAchecker stands on Freedom251
- Formal Verification Tools#3 of 34
- C and C++ Static Analysis Tools#4 of 25