Interpolation and SAT-Based Model Checking Revisited: Adoption to Software Verification

08/09/2022
by   Dirk Beyer, et al.
0

Interpolation-based model checking (McMillan, 2003) is a formal-verification algorithm, which was originally devised to verify safety properties of finite-state transition systems. The algorithm is state-of-the-art in hardware model checking. It derives interpolants from unsatisfiable BMC queries, and collects them to construct an overapproximation of the set of reachable states. Unlike other formal-verification algorithms, such as k-induction or PDR, which have been extended to handle infinite-state systems and investigated for program analysis, McMillan's interpolation-based model checking algorithm from 2003 has not been used to verify programs so far. This paper closes this significant, 19 years old gap in knowledge by adopting the algorithm to software verification. We implemented it in the verification framework CPAchecker, and evaluated the implementation against other state-of-the-art software-verification techniques over the largest publicly available benchmark suite of C safety-verification tasks. The evaluation demonstrates that interpolation-based model checking is competitive among other algorithms in terms of both the number of solved verification tasks and the run-time efficiency. Our results might have important implications for software verification, because researchers and developers now have a richer set of approaches to choose from.

READ FULL TEXT
research
07/04/2022

Formal Verification of Safety Properties Using Interpolation and k-induction

This technical report presents implementation of two symbolic model chec...
research
08/17/2019

Software Verification with PDR: Implementation and Empirical Evaluation of the State of the Art

Property-directed reachability (PDR) is a SAT/SMT-based reachability alg...
research
03/14/2018

Real-time System Modeling and Verification through Labeled Transition System Analyser (LTSA)

With the advancement of software engineering in recent years, the model ...
research
03/30/2022

Applying Model Checking to Highly-Configurable Safety Critical Software: The SPS-PPS PLC Program

An important aspect of many particle accelerators is the constant evolut...
research
08/24/2017

Towards Evaluating Size Reduction Techniques for Software Model Checking

Formal verification techniques are widely used for detecting design flaw...
research
11/18/2019

Combined Covers and Beth Definability

In ESOP 2008, Gulwani and Musuvathi introduced a notion of cover and exp...
research
06/01/2022

Formal Analysis of Lending Pools in Decentralized Finance

Decentralised Finance (DeFi) applications constitute an entire financial...

Please sign up or login with your details

Forgot password? Click here to reset