Parallel SAT Solving in Bounded Model Checking

Bounded Model Checking (BMC) is an incremental refutation technique to search for counterexamples of increasing length. The existence of a counterexample of a fixed length is expressed by a first-order logic formula that is checked for satisfiability using a suitable solver. We apply communicating parallel solvers to check satisfiability of the BMC formulae. In contrast to other parallel solving techniques, our method does not parallelize the satisfiability check of a single formula, but the parallel solvers work on formulae for different counterexample lengths. We adapt the method of constraint sharing and replication of Shtrichman, originally developed for sequential BMC, to the parallel setting. Since the learning mechanism is now parallelized, it is not obvious whether there is a benefit from the concepts of Shtrichman in the parallel setting. We demonstrate on a number of benchmarks that adequate communication between the parallel solvers yields the desired results.

[1]  Seif Haridi,et al.  Distributed Algorithms , 1992, Lecture Notes in Computer Science.

[2]  Thomas A. Henzinger,et al.  The Algorithmic Analysis of Hybrid Systems , 1995, Theor. Comput. Sci..

[3]  J. F. Groote,et al.  The safety guaranteeing system at station Hoorn-Kersenboogerd , 1994, COMPASS '95 Proceedings of the Tenth Annual Conference on Computer Assurance Systems Integrity, Software Safety and Process Security'.

[4]  Bernd Becker,et al.  PaMira - A Parallel SAT Solver with Knowledge Sharing , 2005, 2005 Sixth International Workshop on Microprocessor Test and Verification.

[5]  Ofer Strichman,et al.  Accelerating Bounded Model Checking of Safety Properties , 2004, Formal Methods Syst. Des..

[6]  Anthony Skjellum,et al.  A High-Performance, Portable Implementation of the MPI Message Passing Interface Standard , 1996, Parallel Comput..

[7]  Harald Ruess,et al.  An Experimental Evaluation of Ground Decision Procedures , 2004, CAV.

[8]  John Rushby,et al.  Embedded Deduction With ICS , 2003 .

[9]  David L. Dill,et al.  Checking Satisfiability of First-Order Formulas by Incremental Translation to SAT , 2002, CAV.

[10]  Niklas Sörensson,et al.  An Extensible SAT-solver , 2003, SAT.

[11]  Eugene Goldberg,et al.  BerkMin: A Fast and Robust Sat-Solver , 2002 .

[12]  Bernd Becker,et al.  AVACS -- Automatic Verification and Analysis of Complex Systems , 2007, MBMV.

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

[14]  Bernd Becker,et al.  Speedup Techniques Utilized in Modern SAT Solvers , 2005, SAT.

[15]  Fabio Danilo Torrisi,et al.  Modeling and reach-set computation for analysis and optimal control of discrete hybrid automata , 2003 .

[16]  Sharad Malik,et al.  Chaff: engineering an efficient SAT solver , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).

[17]  Daniel S. Weld,et al.  The LPSAT Engine & Its Application to Resource Planning , 1999, IJCAI.

[18]  J. P. Marques,et al.  GRASP : A Search Algorithm for Propositional Satisfiability , 1999 .

[19]  Harald Ruess,et al.  Bounded Model Checking and Induction: From Refutation to Verification (Extended Abstract, Category A) , 2003, CAV.

[20]  Martin Fränzle,et al.  Efficient Proof Engines for Bounded Model Checking of Hybrid Systems , 2005, FMICS.

[21]  Martin Leucker,et al.  UppDMC: A Distributed Model Checker for Fragments of the mu-Calculus , 2005, PDMC.

[22]  David Jones High performance , 1989, Nature.

[23]  Sergey Berezin,et al.  CVC Lite: A New Implementation of the Cooperating Validity Checker Category B , 2004, CAV.

[24]  Thomas A. Henzinger,et al.  The theory of hybrid automata , 1996, Proceedings 11th Annual IEEE Symposium on Logic in Computer Science.

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

[26]  Wolfgang Küchlin,et al.  PaSAT - Parallel SAT-Checking with Lemma Exchange: Implementation and Applications , 2001, Electron. Notes Discret. Math..

[27]  Bernd Becker,et al.  Optimizing Bounded Model Checking for Linear Hybrid Systems , 2005, VMCAI.

[28]  Bernd Becker,et al.  Speedup Techniques Utilized in Modern SAT Solvers An Analysis in the MIRA Environment , 2005 .

[29]  Sharad Malik,et al.  Efficient conflict driven learning in a Boolean satisfiability solver , 2001, IEEE/ACM International Conference on Computer Aided Design. ICCAD 2001. IEEE/ACM Digest of Technical Papers (Cat. No.01CH37281).

[30]  Ganesh Gopalakrishnan,et al.  Parallel and Distributed Model Checking in Eddy , 2006, SPIN.

[31]  Piergiorgio Bertoli,et al.  A SAT Based Approach for Solving Formulas over Boolean and Linear Mathematical Propositions , 2002, CADE.