Litcius/Paper detail

CPAchecker 2.3 with Strategy Selection

Daniel Baier, Dirk Beyer, Po-Chun Chien, Marek Jankola, Matthias Kettl, Nian-Ze Lee, Thomas R. Lemberger, Marian Lingsch-Rosenfeld, Martin Spiessl, Henrik Wachowitz, Philipp Wendler

2024Lecture notes in computer science21 citationsDOIOpen Access PDF

Abstract

Abstract CPAchecker is a versatile framework for software verification, rooted in the established concept of configurable program analysis . Compared to the last published system description at SV-COMP 2015, the CPAchecker submission to SV-COMP 2024 incorporates new analyses for reachability safety, memory safety, termination, overflows, and data races. To combine forces of the available analyses in CPAchecker and cover the full spectrum of the diverse program characteristics and specifications in the competition, we use strategy selection to predict a sequential portfolio of analyses that is suitable for a given verification task. The prediction is guided by a set of carefully picked program features. The sequential portfolios are composed based on expert knowledge and consist of bit-precise analyses using k -induction, data-flow analysis, SMT solving, Craig interpolation, lazy abstraction, and block-abstraction memoization. The synergy of various algorithms in CPAchecker enables support for all properties and categories of C programs in SV-COMP 2024 and contributes to its success in many categories. CPAchecker also generates verification witnesses in the new YAML format.

Topics & Concepts

Computer scienceSelection (genetic algorithm)Artificial intelligenceFormal Methods in VerificationLogic, programming, and type systemsEmbedded Systems Design Techniques
CPAchecker 2.3 with Strategy Selection | Litcius