Response property checking via distributed state space exploration

A response property is a simple liveness property that, given state predicates p and q, asserts "whenever a p-state is visited, a g-state will be visited in the future". This paper presents an efficient and scalable implementation for explicit-state model of checking response properties on systems with strongly- and weakly-fair actions, using a network of machines. Our approach is a novel twist on the One-Way-Catch-Them-Young (OWCTY) algorithm. Although OWCTY has a worst-case time complexity of O(n2m) where n is the number of states of the model, and m is the number of fair actions, we show that in practice, the run-time is a very small multiple of n. This allows our approach to handle large models with a large number of fairness constraints. Our implementation builds upon PREACH, a distributed, explicit-state model checking tool. We demonstrate the effectiveness of our approach by applying it to several standard benchmarks on some real-world, proprietary, architectural models.

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

[2]  Petr Rockai,et al.  Distributed LTL Model Checking with Hash Compaction , 2013, PASM/PDMC.

[3]  Radek Pelánek,et al.  Distributed Explicit Fair Cycle Detection , 2003 .

[4]  David L. Dill,et al.  Parallelizing the Murϕ Verifier , 2001, Formal Methods Syst. Des..

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

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

[7]  Lubos Brim,et al.  DiVinE 3.0 - An Explicit-State Model Checker for Multithreaded C & C++ Programs , 2013, CAV.

[8]  David L. Dill,et al.  Parallelizing the Murphi Verifier , 1997, CAV.

[9]  Pierre Wolper,et al.  Reliable Hashing without Collosion Detection , 1993, CAV.

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

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

[12]  Yu Yang,et al.  Hierarchical cache coherence protocol verification one level at a time through assume guarantee , 2007, 2007 IEEE International High Level Design Validation and Test Workshop.

[13]  David L. Dill,et al.  Improved probabilistic verification by hash compaction , 1995, CHARME.

[14]  Gaurav Singh,et al.  Industrial Strength Distributed Explicit State Model Checking , 2010, 2010 Ninth International Workshop on Parallel and Distributed Methods in Verification, and Second International Workshop on High Performance Computational Systems Biology.

[15]  Amir Pnueli,et al.  Model Checking with Strong Fairness , 2006, Formal Methods Syst. Des..

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

[17]  Zohar Manna,et al.  Completing the Temporal Picture , 1989, Theor. Comput. Sci..

[18]  Alfons Laarman,et al.  Improved Multi-Core Nested Depth-First Search , 2012, ATVA.

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

[20]  David Parker,et al.  Model Checking Software , 2012, Lecture Notes in Computer Science.

[21]  Gerard J. Holzmann,et al.  Parallelizing the Spin Model Checker , 2012, SPIN.

[22]  Panagiotis Manolios,et al.  Bloom Filters in Probabilistic Verification , 2004, FMCAD.