More efficient on-the-fly LTL verification with Tarjan's algorithm

State-of-the-art algorithms for on-the-fly automata-theoretic LTL model checking make use of nested depth-first search to look for accepting cycles in the product of the system and the Buchi automaton. Here, we present two new single depth-first search algorithms that accomplish the same task. The first is based on Tarjan's algorithm for detecting strongly connected components, while the second is a combination of the first and Couvreur's algorithm for finding acceptance cycles in the product of a system and a generalized Buchi automaton. Both new algorithms report an accepting cycle immediately after all transitions in the cycle have been investigated. We show their correctness, describe efficient implementations and discuss how they interact with some other model checking techniques, such as bitstate hashing. The algorithms are compared to the nested search algorithms in experiments on both random and actual state spaces, using random and real formulas. Our measurements indicate that our algorithms investigate at most as many states as the old ones. In the case of a violation of the correctness property, the algorithms often explore significantly fewer states.

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

[2]  Eljas Soisalon-Soininen,et al.  On Finding the Strongly Connected Components in a Directed Graph , 1994, Inf. Process. Lett..

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

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

[5]  Gerard Tel,et al.  Introduction to Distributed Algorithms: Contents , 2000 .

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

[7]  Klaus Schneider,et al.  Improving Automata Generation for Linear Temporal Logic by Considering the Automaton Hierarchy , 2001, LPAR.

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

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

[10]  Gerard J. Holzmann,et al.  An Analysis of Bitstate Hashing , 1995, Formal Methods Syst. Des..

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

[12]  Keith A. Bartlett,et al.  A note on reliable full-duplex transmission over half-duplex links , 1969, Commun. ACM.

[13]  Gerard J. Holzmann,et al.  An improved protocol reachability analysis technique , 1988, Softw. Pract. Exp..

[14]  Antti Valmari A stubborn attack on state explosion , 1992, Formal Methods Syst. Des..

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

[16]  David L. Dill,et al.  Validation with guided search of the state space , 1998, Proceedings 1998 Design and Automation Conference. 35th DAC. (Cat. No.98CH36175).

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

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

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

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

[21]  Doron A. Peled,et al.  All from One, One for All: on Model Checking Using Representatives , 1993, CAV.

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

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

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

[25]  Patrice Godefroid,et al.  Partial-Order Methods for the Verification of Concurrent Systems , 1996, Lecture Notes in Computer Science.

[26]  Gerard J. Holzmann,et al.  State-space caching revisited , 1992, Formal Methods Syst. Des..

[27]  Ming T. Liu,et al.  Protocol verification using reachability analysis: the state space explosion problem and relief strategies , 1987, Computer Communication Review.

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

[29]  Gerard J. Holzmann,et al.  A minimized automaton representation of reachable states , 1999, International Journal on Software Tools for Technology Transfer.

[30]  Alex Groce,et al.  What Went Wrong: Explaining Counterexamples , 2003, SPIN.