English

Software Verification with CPAchecker 3.0: Tutorial and User Guide (Extended Version)

Software Engineering 2024-09-04 v1 Programming Languages

Abstract

This tutorial provides an introduction to CPAchecker for users. CPAchecker is a flexible and configurable framework for software verification and testing. The framework provides many abstract domains, such as BDDs, explicit values, intervals, memory graphs, and predicates, and many program-analysis and model-checking algorithms, such as abstract interpretation, bounded model checking, Impact, interpolation-based model checking, k -induction, PDR, predicate abstraction, and symbolic execution. This tutorial presents basic use cases for CPAchecker in formal software verification, focusing on its main verification techniques with their strengths and weaknesses. It also shows further use cases of CPAchecker for test-case generation and witness-based result validation. The envisioned readers are assumed to possess a background in automatic formal verification and program analysis, but prior knowledge of CPAchecker is not required. This tutorial and user guide is based on CPAchecker in version 3.0. This user guide's latest version and other documentation are available at https://cpachecker.sosy-lab.org/doc.php.

Keywords

Cite

@article{arxiv.2409.02094,
  title  = {Software Verification with CPAchecker 3.0: Tutorial and User Guide (Extended Version)},
  author = {Daniel Baier and Dirk Beyer and Po-Chun Chien and Marie-Christine Jakobs and Marek Jankola and Matthias Kettl and Nian-Ze Lee and Thomas Lemberger and Marian Lingsch-Rosenfeld and Henrik Wachowitz and Philipp Wendler},
  journal= {arXiv preprint arXiv:2409.02094},
  year   = {2024}
}

Comments

39 pages, 17 figures, 6 tables

R2 v1 2026-06-28T18:32:58.113Z