Distributed Symbolic Model Checking for µ-Calculus

In this paper we propose a distributed symbolic algorithm for model checking of propositional µ-calculus formulas. µ-calculus is a powerful formalism and many problems like (fair) CTL and LTL model checking can be solved using the µ-calculus model checking. Previous works on distributed symbolic model checking were restricted to reachability analysis and safety properties. This work thus significantly extends the scope of properties that can be verified for very large designs. The algorithm distributively evaluates subformulas. It results in sets of states which are evenly distributed among the processes.We show that this algorithm is scalable, and thus can be implemented on huge distributed clusters of computing nodes. In this way, the memory modules of the computing nodes collaborate to create a very large store, thus enables the checking of much larger designs. We formally prove the correctness of the parallel algorithm. We complement the distribution of the state sets by showing how to distribute the transition relation.

[1]  Assaf Schuster,et al.  A Scalable Parallel Algorithm for Reachability Analysis of Very Large Circuits , 2002, Formal Methods Syst. Des..

[2]  Somesh Jha,et al.  An Improved Algorithm for the Evaluation of Fixpoint Expressions , 1994, Theor. Comput. Sci..

[3]  Assaf Schuster,et al.  Scalable Distributed On-the-Fly Symbolic Model Checking , 2000, FMCAD.

[4]  Shoham Ben-David,et al.  Scalable distributed on-the-fly symbolic model checking , 2000, International Journal on Software Tools for Technology Transfer.

[5]  Joseph Sifakis,et al.  Specification and verification of concurrent systems in CESAR , 1982, Symposium on Programming.

[6]  A. Tarski A LATTICE-THEORETICAL FIXPOINT THEOREM AND ITS APPLICATIONS , 1955 .

[7]  A. Prasad Sistla,et al.  Automatic verification of finite state concurrent system using temporal logic specifications: a practical approach , 1983, POPL '83.

[8]  Randal E. Bryant,et al.  Graph-Based Algorithms for Boolean Function Manipulation , 1986, IEEE Transactions on Computers.

[9]  R. Brayton,et al.  Reachability analysis using partitioned-ROBDDs , 1997, ICCAD 1997.

[10]  David Walker,et al.  Local Model Checking in the Modal mu-Calculus , 1991, Theor. Comput. Sci..

[11]  Assaf Schuster,et al.  Achieving Scalability in Parallel Reachability Analysis of Very Large Circuits , 2000, CAV.

[12]  Edmund M. Clarke,et al.  Symbolic Model Checking: 10^20 States and Beyond , 1990, Inf. Comput..

[13]  Gianpiero Cabodi,et al.  Improving the efficiency of BDD-based operators by means of partitioning , 1999, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[14]  Chin-Laung Lei,et al.  Efficient Model Checking in Fragments of the Propositional Mu-Calculus (Extended Abstract) , 1986, LICS.

[15]  Amir Pnueli,et al.  Checking that finite state concurrent programs satisfy their linear specification , 1985, POPL.

[16]  Edmund M. Clarke,et al.  Symbolic Model Checking with Partitioned Transistion Relations , 1991, VLSI.

[17]  Olivier Coudert,et al.  Verification of Synchronous Sequential Machines Based on Symbolic Execution , 1989, Automatic Verification Methods for Finite State Systems.

[18]  Dexter Kozen,et al.  RESULTS ON THE PROPOSITIONAL’p-CALCULUS , 2001 .

[19]  Edmund M. Clarke,et al.  Model Checking , 1999, Handbook of Automated Reasoning.

[20]  Glynn Winskel,et al.  A Note on Model Checking the Modal nu-Calculus , 1991, Theor. Comput. Sci..