Parallel Nested Depth-First Searches for LTL Model Checking

Even though the well-known nested-depth first search algorithm for LTL model checking provides good performance, it cannot benefit from the recent advent of multi-core computers. This paper proposes a new version of this algorithm, adapted to multi-core architectures with a shared memory. It can exhibit good speed-ups as supported by a series of experiments.

[1]  Edmund M. Clarke,et al.  State space reduction using partial order techniques , 1999, International Journal on Software Tools for Technology Transfer.

[2]  Alex Groce,et al.  Swarm Verification Techniques , 2011, IEEE Transactions on Software Engineering.

[3]  Lubos Brim,et al.  A Time-Optimal On-the-Fly Parallel Algorithm for Model Checking of Weak LTL Properties , 2009, ICFEM.

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

[5]  Gerard J. Holzmann An analysis of bitstate hashing , 1995 .

[6]  Lubos Brim,et al.  Distributed LTL model-checking in SPIN , 2001, SPIN '01.

[7]  Gerard J. Holzmann,et al.  An analysis of bistate hashing , 1995, Protocol Specification, Testing and Verification.

[8]  Lubos Brim,et al.  Parallel breadth-first search LTL model-checking , 2003, 18th IEEE International Conference on Automated Software Engineering, 2003. Proceedings..

[9]  Lubos Brim,et al.  From Distributed Memory Cycle Detection to Parallel LTL Model Checking , 2005, FMICS.

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

[11]  Lubos Brim,et al.  Distributed LTL Model Checking Based on Negative Cycle Detection , 2001, FSTTCS.

[12]  Radek Pelánek,et al.  BEEM: Benchmarks for Explicit Model Checkers , 2007, SPIN.

[13]  Lubos Brim,et al.  Scalable Multi-core LTL Model-Checking , 2007, SPIN.

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

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

[16]  Gerard J. Holzmann,et al.  The Model Checker SPIN , 1997, IEEE Trans. Software Eng..

[17]  Lubos Brim,et al.  DiVinE - A Tool for Distributed Verification , 2006, CAV.

[18]  Stefan Schwoon,et al.  Comparison of Algorithms for Checking Emptiness on Büchi Automata , 2009, MEMICS.

[19]  Ivana Cerná,et al.  Distributed Explicit Fair Cycle Detection (Set Based Approach) , 2003, SPIN.

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

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

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

[23]  Gerard J. Holzmann,et al.  State Compression in SPIN: Recursive Indexing and Compression Training Runs , 2002 .

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

[25]  Lubos Brim,et al.  Accepting Predecessors Are Better than Back Edges in Distributed LTL Model-Checking , 2004, FMCAD.

[26]  Dragan Bosnacki,et al.  The Design of a Multicore Extension of the SPIN Model Checker , 2007, IEEE Transactions on Software Engineering.

[27]  Alfons Laarman,et al.  Multi-core Nested Depth-First Search , 2011, ATVA.

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