Linear Encodings of Bounded LTL Model Checking
Authors:
- Armin BiereABArmin Biere
- Keijo HeljankoKHKeijo Heljanko
- Tommi JunttilaTJTommi Junttila
- Timo LatvalaTLTimo Latvala
- Viktor SchuppanVSViktor Schuppan
Preprint
Abstract
We consider the problem of bounded model checking (BMC) for linear temporal logic (LTL). We present several efficient encodings that have size linear in the bound. Furthermore, we show how the encodings can be extended to LTL with past operators (PLTL). The generalised encoding is still of linear size, but cannot detect minimal length counterexamples. By using the virtual unrolling technique minimal length counterexamples can be captured, however, the size of the encoding is quadratic in the specification. We also extend virtual unrolling to Buchi automata, enabling them to accept minimal length counterexamples. Our BMC encodings can be made incremental in order to benefit from incremental SAT technology. With fairly small modifications the incremental encoding can be further enhanced with a termination check, allowing us to prove properties with BMC. Experiments clearly show that our new encodings improve performance of BMC considerably, particularly in the case of the incremental encoding, and that they are very competitive for finding bugs. An analysis of the liveness-to-safety transformation reveals many similarities to the BMC encodings in this paper. Using the liveness-to-safety translation with BDD-based invariant checking results in an efficient method to find shortest counterexamples that complements the BMC-based approach.Keywords
All Related Versions
This publication has 45 references indexed in Scilit:
- Large-Scale Directed Model Checking LTL2006
- Incremental Compilation-to-SAT ProceduresLecture Notes in Computer Science, 2005
- Effective Preprocessing in SAT Through Variable and Clause Elimination2005
- Symbolic Systems, Explicit Properties: On Hybrid Approaches for LTL Symbolic Model CheckingLecture Notes in Computer Science, 2005
- Incremental and Complete Bounded Model Checking for Full PLTLLecture Notes in Computer Science, 2005
- Efficient Computation of Recurrence Diameters2002
- Bounded Reachability Checking with Process Semantics2001
- Benefits of Bounded Model Checking at an Industrial SettingLecture Notes in Computer Science, 2001
- Checking Safety Properties Using Induction and a SAT-Solver2000
- Reasoning about Infinite ComputationsInformation and Computation, 1994