Larger Automata and Less Work for LTL Model Checking

Many different automata and algorithms have been investigated in the context of automata-theoretic LTL model checking. This article compares the behaviour of two variations on the widely used Buchi automaton, namely (i) a Buchi automaton where states are labelled with atomic propositions and transitions are unlabelled, and (ii) a form of testing automaton that can only observe changes in state propositions and makes use of special livelock acceptance states. We describe how these variations can be generated from standard Buchi automata, and outline an SCC-based algorithm for verification with testing automata. The variations are compared to standard automata in experiments with both random and human-generated Kripke structures and LTL_X formulas, using SCC-based algorithms as well as a recent, improved version of the classic nested search algorithm. The results show that SCC-based algorithms outperform their nested search counterpart, but that the biggest improvements come from using the variant automata. Much work has been done on the generation of small automata, but small automata do not necessarily lead to small products when combined with the system being verified. We investigate the underlying factors for the superior performance of the new variations.

[1]  Paul Gastin,et al.  Fast LTL to Büchi Automata Translation , 2001, CAV.

[2]  Gerard J. Holzmann,et al.  On the Verification of Temporal Properties , 1993, PSTV.

[3]  Saul A. Kripke,et al.  Semantical Analysis of Modal Logic I Normal Modal Propositional Calculi , 1963 .

[4]  Wojciech Penczek,et al.  Stuttering-Insensitive Automata for On-the-fly Detection of Livelock Properties , 2002, Electron. Notes Theor. Comput. Sci..

[5]  Pierre Wolper Temporal Logic Can Be More Expressive , 1983, Inf. Control..

[6]  Fabio Somenzi,et al.  Efficient Büchi Automata from LTL Formulae , 2000, CAV.

[7]  Andreas Podelski,et al.  ACSAR: Software Model Checking with Transfinite Refinement , 2007, SPIN.

[8]  Jean-Michel Couvreur,et al.  On-the-Fly Verification of Linear Temporal Logic , 1999, World Congress on Formal Methods.

[9]  Robert E. Tarjan,et al.  Depth-First Search and Linear Graph Algorithms , 1972, SIAM J. Comput..

[10]  Fabio Somenzi,et al.  Fair Simulation Minimization , 2002, CAV.

[11]  Paul Gastin,et al.  Minimization of Counterexamples in SPIN , 2004, SPIN.

[12]  R. McNaughton Review: J. Richard Buchi, Weak Second-Order Arithmetic and Finite Automata; J. Richard Buchi, On a Decision Method in Restricted second Order Arithmetic , 1963, Journal of Symbolic Logic.

[13]  Mihalis Yannakakis,et al.  On nested depth first search , 1996, The Spin Verification System.

[14]  J. Büchi Weak Second‐Order Arithmetic and Finite Automata , 1960 .

[15]  Jaco Geldenhuys,et al.  More efficient on-the-fly LTL verification with Tarjan's algorithm , 2005, Theor. Comput. Sci..

[16]  Heikki Tauriainen A Randomized Testbench for Algorithms Translating Linear Temporal Logic Formulae into B1chi Automat , 1999 .

[17]  Lubos Brim,et al.  Randomization Helps in LTL Model Checking , 2001, PAPM-PROBMIV.

[18]  Jaco Geldenhuys,et al.  Tarjan's Algorithm Makes On-the-Fly LTL Verification More Efficient , 2004, TACAS.

[19]  Antti Valmari,et al.  On-the-Fly Verification with Stubborn Sets , 1993, CAV.

[20]  J. R. Büchi On a Decision Method in Restricted Second Order Arithmetic , 1990 .

[21]  Roberto Sebastiani,et al.  "More Deterministic" vs. "Smaller" Büchi Automata for Efficient LTL Model Checking , 2003, CHARME.

[22]  Heikki Tauriainen,et al.  Nested emptiness search for generalized Buchi automata , 2004, Proceedings. Fourth International Conference on Application of Concurrency to System Design, 2004. ACSD 2004..

[23]  M. Rabin Decidability of second-order theories and automata on infinite trees , 1968 .

[24]  Javier Esparza,et al.  A Note on On-the-Fly Verification Algorithms , 2005, TACAS.

[25]  Borivoj Melichar,et al.  Finding Common Motifs with Gaps Using Finite Automata , 2006, CIAA.

[26]  Carsten Fritz,et al.  Constructing Büchi Automata from Linear Temporal Logic Using Simulation Relations for Alternating Büchi Automata , 2003, CIAA.

[27]  Yaacov Choueka,et al.  Theories of Automata on omega-Tapes: A Simplified Approach , 1974, J. Comput. Syst. Sci..

[28]  Pierre Wolper,et al.  Memory-efficient algorithms for the verification of temporal properties , 1990, Formal Methods Syst. Des..

[29]  George J. Milne,et al.  Correct Hardware Design and Verification Methods , 2003, Lecture Notes in Computer Science.

[30]  Alfred V. Aho,et al.  The Design and Analysis of Computer Algorithms , 1974 .

[31]  Pierre Wolper,et al.  Simple on-the-fly automatic verification of linear temporal logic , 1995, PSTV.

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

[33]  S. Anderson,et al.  Secure Synthesis of Code: A Process Improvement Experiment , 1999, World Congress on Formal Methods.

[34]  Fausto Giunchiglia,et al.  Improved Automata Generation for Linear Temporal Logic , 1999, CAV.

[35]  Johan Anthory Willem Kamp,et al.  Tense logic and the theory of linear order , 1968 .

[36]  George S. Avrunin,et al.  Property specification patterns for finite-state verification , 1998, FMSP '98.

[37]  Pierre Wolper,et al.  Reasoning about infinite computation paths , 1983, 24th Annual Symposium on Foundations of Computer Science (sfcs 1983).

[38]  Denis Poitrenaud,et al.  On-the-Fly Emptiness Checks for Generalized Büchi Automata , 2005, SPIN.

[39]  Kousha Etessami,et al.  Optimizing Büchi Automata , 2000, CONCUR.

[40]  Stefan Edelkamp,et al.  Directed explicit-state model checking in the validation of communication protocols , 2004, International Journal on Software Tools for Technology Transfer.

[41]  Kousha Etessami,et al.  A Hierarchy of Polynomial-Time Computable Simulations for Automata , 2002, CONCUR.

[42]  Rajeev Alur,et al.  A Temporal Logic of Nested Calls and Returns , 2004, TACAS.

[43]  G. G. Stokes "J." , 1890, The New Yale Book of Quotations.