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

08/17/2019
by   Dirk Beyer, et al.
0

Property-directed reachability (PDR) is a SAT/SMT-based reachability algorithm that incrementally constructs inductive invariants. After it was successfully applied to hardware model checking, several adaptations to software model checking have been proposed. We contribute a replicable and thorough comparative evaluation of the state of the art: We (1) implemented a standalone PDR algorithm and, as improvement, a PDR-based auxiliary-invariant generator for k-induction, and (2) performed an experimental study on the largest publicly available benchmark set of C verification tasks, in which we explore the effectiveness and efficiency of software verification with PDR. The main contribution of our work is to establish a reproducible baseline for ongoing research in the area by providing a well-engineered reference implementation and an experimental evaluation of the existing techniques.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
08/09/2022

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

Interpolation-based model checking (McMillan, 2003) is a formal-verifica...
research
10/09/2019

Generalized Property-Directed Reachability for Hybrid Systems

Generalized property-directed reachability (GPDR) belongs to the family ...
research
08/23/2023

Incremental Property Directed Reachability

Property Directed Reachability (PDR) is a widely used technique for form...
research
04/30/2020

PrIC3: Property Directed Reachability for MDPs

IC3 has been a leap forward in symbolic model checking. This paper propo...
research
06/07/2022

SMT-Based Model Checking of Industrial Simulink Models

The development of embedded systems requires formal analysis of models s...
research
05/28/2021

Latticed k-Induction with an Application to Probabilistic Programs

We revisit two well-established verification techniques, k-induction and...
research
06/30/2011

Learning to Order BDD Variables in Verification

The size and complexity of software and hardware systems have significan...

Please sign up or login with your details

Forgot password? Click here to reset