Software Verification with CPAchecker 30: Tutorial and User Guide (Extended Version)
<|reference_start|>Software Verification with CPAchecker 30: Tutorial and User Guide (Extended Version): 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.<|reference_end|>
@article{baier2024software,
    title={Software Verification with CPAchecker 3.0: Tutorial and User Guide
  (Extended Version)},
    author={Daniel Baier, Dirk Beyer, Po-Chun Chien, Marie-Christine Jakobs, Marek
  Jankola, Matthias Kettl, Nian-Ze Lee, Thomas Lemberger, Marian
  Lingsch-Rosenfeld, Henrik Wachowitz, and Philipp Wendler},
    journal={arXiv preprint arXiv:2409.02094},
    year={2024},
    archivePrefix={arXiv},
    eprint={2409.02094},
    primaryClass={cs.SE cs.PL}
}