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]  Bernd Becker,et al.  Speedup Techniques Utilized in Modern SAT Solvers An Analysis in the MIRA Environment , 2005 .

[2]  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).

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

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

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

[6]  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'.

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

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

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

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

[11]  Bernd Becker,et al.  Parallel SAT Solving in Bounded Model Checking , 2006, J. Log. Comput..

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

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

[14]  Joao Marques-Silva,et al.  GRASP: A Search Algorithm for Propositional Satisfiability , 1999, IEEE Trans. Computers.

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

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

[17]  T. Henzinger The theory of hybrid automata , 1996, LICS 1996.

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

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

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

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

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

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

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