CPAchecker: A Tool for Configurable Software Verification
Dirk Beyer and M. Erkan Keremoglu
Proc. CAV 2011, Springer.
Abstract:
Configurable software verification is a recent
concept for expressing different program analysis
and model checking approaches in one single
formalism. This paper presents CPAchecker, a tool
and framework that aims at easy integration of new
verification components. Every abstract domain,
together with the corresponding operations,
implements the interface of configurable program
analysis (CPA). The main algorithm is configurable
to perform a reachability analysis on arbitrary
combinations of existing CPAs. In software
verification, it takes a considerable amount of
effort to convert a verification idea into actual
experimental results --- we aim at accelerating this
process. We hope that researchers find it
convenient and productive to implement new
verification ideas and algorithms using this
flexible and easy-to-extend platform, and that it
advances the field by making it easier to perform
practical experiments. The tool is implemented in
Java and runs as command-line tool or as Eclipse
plug-in. CPAchecker implements CPAs for several
abstract domains. We evaluate the efficiency of the
current version of our tool on software-verification
benchmarks from the literature, and compare it with
other state-of-the-art model checkers. CPAchecker
is an open-source toolkit and publicly available.
Download zip-archive (33 MB) including executable programs,
benchmark programs, and source code of our tool implementation.