Exploring Clause Symmetry in a Distributed Bounded Model Checking Algorithm

In recent years new and efficient symbolic model checking algorithms have been developed. One technique, bounded model checking or BMC, has been particularly promising. BMC models the system being verified as a boolean formula whose satisfying assignments provide counterexamples for properties verified. BMC unrolls the system in its multiple iterations. Because of this the structure of the formula representing the system is very symmetric, since all iterations are similar in structure. This work explores this symmetry in a distributed algorithm by postponing the unrolling of the formulas until they are used. This minimizes communication among processors since the formulas transmitted are shorter. Moreover, avoiding the unrolling of conflict clauses has a more pronounced effect, because due to the symmetric nature of the formula, a conflict clause for one instant in the execution can be applied to multiple time instants. As a consequence, short conflict clauses can be unrolled into much more effective clauses, cutting back on the search space significantly. In our experiments we have obtained gains of up to three orders of magnitude in verification time and up to two orders of magnitude in memory usage in large examples

[1]  Anubhav Gupta,et al.  Abstraction Refinement for Bounded Model Checking , 2005, CAV.

[2]  Rolf Hempel,et al.  The MPI Standard for Message Passing , 1994, HPCN.

[3]  Nachum Dershowitz,et al.  Parallel Multithreaded Satisfiability Solver: Design and Implementation , 2005, PDMC.

[4]  共立出版株式会社 コンピュータ・サイエンス : ACM computing surveys , 1978 .

[5]  R. K. Shyamasundar,et al.  Introduction to algorithms , 1996 .

[6]  Ofer Shtrichman Tuning SAT Checkers for Bounded Model Checking , 2000, CAV 2000.

[7]  Ofer Strichman,et al.  Pruning Techniques for the SAT-Based Bounded Model Checking Problem , 2001, CHARME.

[8]  Maria Paola Bonacina,et al.  PSATO: a Distributed Propositional Prover and its Application to Quasigroup Problems , 1996, J. Symb. Comput..

[9]  Armin Biere,et al.  Symbolic Model Checking without BDDs , 1999, TACAS.

[10]  Ewald Speckenmeyer,et al.  A fast parallel SAT-solver — efficient workload balancing , 2005, Annals of Mathematics and Artificial Intelligence.

[11]  E. Clarke,et al.  Symbolic model checking using SAT procedures instead of BDDs , 1999, Proceedings 1999 Design Automation Conference (Cat. No. 99CH36361).

[12]  Marco Pistore,et al.  Nusmv version 2: an opensource tool for symbolic model checking , 2002, CAV 2002.

[13]  Zijiang Yang,et al.  Efficient distributed SAT and SAT-based distributed Bounded Model Checking , 2005, International Journal on Software Tools for Technology Transfer.

[14]  John Taylor Stallings,et al.  The Search For Satisfaction , 1935 .

[15]  Ofer Shtrichman Pruning Techniques for the SAT-Based Bounded Model Checking Problem , 2001 .

[16]  Orna Grumberg,et al.  Bounded Model Checking of Concurrent Programs , 2005, CAV.

[17]  Sharad Malik,et al.  Combining strengths of circuit-based and CNF-based algorithms for a high-performance SAT solver , 2002, DAC '02.

[18]  Marco Pistore,et al.  NuSMV 2: An OpenSource Tool for Symbolic Model Checking , 2002, CAV.

[19]  Toby Walsh,et al.  The Search for Satisfaction , 1999 .

[20]  Sharad Malik,et al.  Accelerating Boolean satisfiability through application specific processing , 2001, International Symposium on System Synthesis (IEEE Cat. No.01EX526).

[21]  Stephan Merz,et al.  Model Checking , 2000 .

[22]  Valentin Goranko,et al.  Logic in Computer Science: Modelling and Reasoning About Systems , 2007, J. Log. Lang. Inf..

[23]  Greg Burns,et al.  LAM: An Open Cluster Environment for MPI , 2002 .