A circuit approach to LTL model checking

This paper presents a method for translating formulas written in assertion languages such as LTL into a monitor circuit suitable for model checking. Unlike the conventional approach, no automata is generated for the property, but instead the monitor is built directly from the property formula through a recursive traversal. This method was first introduced by Pnueli et. al. under the name of Temporal Testers. In this paper, we show the practicality of temporal testers through experimental evaluation, as well as offer a self-contained exposition for how to construct them in manner that meets the requirements of industrial model checking tools. These tools tend to operate on logic circuits with sequential elements, rather than transition relations, which means we only need to consider so called positive testers with no future references. This restriction both simplifies the presentation and allows for more efficient monitors to be generated. In the final part of the paper, we suggest several possible optimizations that can improve the quality of the monitors, and conclude with experimental data.

[1]  G. S. Tseitin On the Complexity of Derivation in Propositional Calculus , 1983 .

[2]  Moshe Y. Vardi,et al.  Efficient LTL compilation for SAT-based model checking , 2005, ICCAD-2005. IEEE/ACM International Conference on Computer-Aided Design, 2005..

[3]  Amir Pnueli,et al.  Algorithmic Verification of Linear Temporal Logic Specifications , 1998, ICALP.

[4]  Orna Kupferman,et al.  Model Checking of Safety Properties , 1999, Formal Methods Syst. Des..

[5]  Pierre Wolper,et al.  An Automata-Theoretic Approach to Automatic Program Verification (Preliminary Report) , 1986, LICS.

[6]  Robert K. Brayton,et al.  Scalable and scalably-verifiable sequential synthesis , 2008, 2008 IEEE/ACM International Conference on Computer-Aided Design.

[7]  Orna Kupferman,et al.  Alternation Removal in Büchi Automata , 2010, ICALP.

[8]  Viktor Schuppan,et al.  Linear Encodings of Bounded LTL Model Checking , 2006, Log. Methods Comput. Sci..

[9]  Amir Pnueli,et al.  On the Merits of Temporal Testers , 2008, 25 Years of Model Checking.

[10]  Koen Claessen,et al.  SAT-Based Verification without State Space Traversal , 2000, FMCAD.

[11]  Moshe Y. Vardi Alternating Automata and Program Verification , 1995, Computer Science Today.

[12]  Gianpiero Cabodi,et al.  Speeding up model checking by exploiting explicit and hidden verification constraints , 2009, 2009 Design, Automation & Test in Europe Conference & Exhibition.

[13]  Amir Pnueli,et al.  PSL Model Checking and Run-Time Verification Via Testers , 2006, FM.

[14]  C. A. J. van Eijk,et al.  Sequential Equivalence Checking Based on Structural Similarities , 2000 .

[15]  Marco Pistore,et al.  Nusmv version 2: an opensource tool for symbolic model checking , 2002, CAV 2002.

[16]  Marco Pistore,et al.  NuSMV 2: An OpenSource Tool for Symbolic Model Checking , 2002, CAV.

[17]  Koen Claessen,et al.  A liveness checking algorithm that counts , 2012, 2012 Formal Methods in Computer-Aided Design (FMCAD).