A Transferability Study of Interpolation-Based Hardware Model Checking for Software Verification
Dirk Beyer, Po-Chun Chien, Marek Jankola, Nian-Ze Lee
Abstract
Assuring the correctness of computing systems is fundamental to our society and economy, and formal verification is a class of techniques approaching this issue with mathematical rigor. Researchers have invented numerous algorithms to automatically prove whether a computational model, e.g., a software program or a hardware digital circuit, satisfies its specification. In the past two decades, Craig interpolation has been widely used in both hardware and software verification. Despite the similarities in the theoretical foundation between hardware and software verification, previous works usually evaluate interpolation-based algorithms on only one type of verification tasks (e.g., either circuits or programs), so the conclusions of these studies do not necessarily transfer to different types of verification tasks. To investigate the transferability of research conclusions from hardware to software, we adopt two performant approaches of interpolation-based hardware model checking, (1) Interpolation-Sequence-Based Model Checking (Vizel and Grumberg, 2009) and (2) Intertwined Forward-Backward Reachability Analysis Using Interpolants (Vizel, Grumberg, and Shoham, 2013), for software verification. We implement the algorithms proposed by the two publications in the software verifier CPAchecker because it has a software-verification adoption of the first interpolation-based algorithm for hardware model checking from 2003, which the two publications use as a comparison baseline. To assess whether the claims in the two publications transfer to software verification, we conduct an extensive experiment on the largest publicly available suite of safety-verification tasks for the programming language C. Our experimental results show that the important characteristics of the two approaches for hardware model checking are transferable to software verification, and that the cross-disciplinary algorithm adoption is beneficial, as the approaches adopted from hardware model checking were able to tackle tasks unsolvable by existing methods. This work consolidates the knowledge in hardware and software verification and provides open-source implementations to improve the understanding of the compared interpolation-based algorithms.
Ask about this paper
Ask your agent about it.
Lune has read the top-tier papers around this one, so every answer names the papers it rests on.
Your agent calls
Lunesearch_papers
Free to start. No credit card required.
Terminal
Install the CLIlune papers get 8cbf42e2-338c-4444-9e5a-c862cf300d34Related papers
- Conditional interpolation: making concurrent program verification more effectiveJie Su, Cong Tian, Zhenhua DuanFSE 2021 · 4 citations
- Decomposing Software Verification using Distributed Summary SynthesisDirk Beyer, Matthias Kettl, Thomas LembergerFSE 2024 · 3 citations
- On the Completeness of Interpolation AlgorithmsStefan Hetzl, Raheleh JalaliLICS 2024 · 1 citation
- Domain-independent interprocedural program analysis using block-abstraction memoizationDirk Beyer, Karlheinz FriedbergerFSE 2020 · 6 citations
- Causality-Based Game SolvingChristel Baier, Norine Coenen, Bernd Finkbeiner, Florian Funke et al.CAV 2021 · 18 citations
