Parallel SAT Solving in Bounded Model Checking

  • Erika Ábrahám
  • Tobias Schubert
  • Bernd Becker
  • Martin Fränzle
  • Christian Herde
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4346)


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.


Conjunctive Normal Form Hybrid Automaton Bound Model Check Parallel Solver Constraint Sharing 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    AVACS: Automatic Verification and Analysis of Complex Systems.
  2. 2.
    Ábrahám, E., Becker, B., Klaedke, F., Steffen, M.: Optimizing bounded model checking for linear hybrid systems. In: Cousot, R. (ed.) VMCAI 2005. LNCS, vol. 3385, pp. 396–412. Springer, Heidelberg (2005)Google Scholar
  3. 3.
    Alur, R., Courcoubetis, C., Henzinger, T., Ho, P., Nicollin, X., Olivero, A., Sifakis, J., Yovine, S.: The algorithmic analysis of hybrid systems. Theoretical Computer Science 138, 3–34 (1995)CrossRefMathSciNetzbMATHGoogle Scholar
  4. 4.
    Alur, R., Peled, D.A. (eds.): CAV 2004. LNCS, vol. 3114. Springer, Heidelberg (2004)zbMATHGoogle Scholar
  5. 5.
    Audemard, G., Bertoli, P., Cimatti, A., Korniłowicz, A., Sebastiani, R.: A SAT based approach for solving formulas over boolean and linear mathematical propositions. In: Voronkov, A. (ed.) CADE 2002. LNCS (LNAI), vol. 2392, p. 195. Springer, Heidelberg (2002)Google Scholar
  6. 6.
    Barrett, C., Berezin, S.: CVC Lite: A new implementation of the cooperating validity checker category B. In: Alur, R., Peled, D.A. (eds.) CAV 2004. LNCS, vol. 3114, pp. 515–518. Springer, Heidelberg (2004)Google Scholar
  7. 7.
    Barrett, C.W., Dill, D.L., Stump, A.: Checking satisfiability of first-order formulas by incremental translation to SAT. In: Brinksma, E., Larsen, K.G. (eds.) CAV 2002. LNCS, vol. 2404, p. 236. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  8. 8.
    Biere, A., Cimatti, A., Clarke, E., Zhu, Y.: Symbolic model checking without BDDs. In: Cleaveland, W.R. (ed.) ETAPS 1999 and TACAS 1999. LNCS, vol. 1579, pp. 193–207. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  9. 9.
    Böhm, M., Speckenmeyer, E.: A Fast Parallel SAT-Solver – Efficient Workload Balancing. Annals of Mathematics and Artificial Intelligence 17(3–4), 381–400 (1996)CrossRefMathSciNetzbMATHGoogle Scholar
  10. 10.
    de Moura, L., Rueß, H.: An experimental evaluation of ground decision procedures. In: Alur, R., Peled, D.A. (eds.) CAV 2004. LNCS, vol. 3114, pp. 162–174. Springer, Heidelberg (2004)Google Scholar
  11. 11.
    de Moura, L., Rueß, H., Rushby, J., Shankar, N.: Embedded deduction with ICS. In: Martin, B. (ed.) Proc. of HCSS’03 (2003)Google Scholar
  12. 12.
    de Moura, L., Rueß, H., Sorea, M.: Bounded model checking and induction: From refutation to verification. In: Hunt Jr., W.A., Somenzi, F. (eds.) CAV 2003. LNCS, vol. 2725, pp. 14–26. Springer, Heidelberg (2003)Google Scholar
  13. 13.
    Eén, N., Sörensson, N.: An extensible SAT-solver. In: Giunchiglia, E., Tacchella, A. (eds.) SAT 2003. LNCS, vol. 2919, pp. 502–518. Springer, Heidelberg (2004)Google Scholar
  14. 14.
    Fränzle, M., Herde, C.: Efficient proof engines for bounded model checking of hybrid systems. ENTCS 133, 119–137 (2005)Google Scholar
  15. 15.
    Goldberg, E., Novikov, Y.: BerkMin: A Fast and Robust SAT-Solver. In: Proc. of DATE’02, pp. 142–149 (2002)Google Scholar
  16. 16.
    Groote, J.F., Koorn, J.W.C., van Vlijmen, S.F.M.: The safety guaranteeing system at station Hoorn-Kersenboogerd. In: Proc. of Compass’95, pp. 57–68. National Institute of Standards and Technology (1995)Google Scholar
  17. 17.
    Gropp, W., Lusk, E., Doss, N., Skjellum, A.: A high-performance, portable implementation of the MPI message passing interface standard. Parallel Computing 22(6), 789–828 (1996)CrossRefzbMATHGoogle Scholar
  18. 18.
    Henzinger, T.: The theory of hybrid automata. In: Proc. of LICS’96, pp. 278–292. IEEE Computer Society Press, Los Alamitos (1996)Google Scholar
  19. 19.
    Holmén, F., Leucker, M., Lindström, M.: UppDMC – a distributed model checker for fragments of the μ-calculus. In: Brim, L., Leucker, M. (eds.) Proc. of PDMC’04. Electronic Notes in Computer Science, vol. 128/3, Elsevier Science Publishers, Amsterdam (2004)Google Scholar
  20. 20.
    Lewis, M., Schubert, T., Becker, B.: Speedup Techniques Utilized in Modern SAT Solvers – An Analysis in the MIRA Environment. In: 8th International Conference on Theory and Applications of Satisfiability Testing (2005)Google Scholar
  21. 21.
    Lynch, N.: Distributed Algorithms. Kaufman Publishers, San Francisco (1996)zbMATHGoogle Scholar
  22. 22.
    Marques-Silva, J., Sakallah, K.: GRASP: A Search Algorithm for Propositional Satisfiability. IEEE Transactions on Computers 48(5), 506–521 (1999)CrossRefMathSciNetGoogle Scholar
  23. 23.
    Melatti, I., Palmer, R., Sawaya, G., Yang, Y., Kirby, R.M., Gopalakrishnan, G.: Parallel and distributed model checking in Eddy. In: Valmari, A. (ed.) SPIN 2006. LNCS, vol. 3925, pp. 108–125. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  24. 24.
    Moskewicz, M.W., Madigan, C.F., Zhao, Y., Yang, L., Malik, S.: Chaff: Engineering an efficient SAT solver. In: Proc. of DAC’01, pp. 530–535 (2001)Google Scholar
  25. 25.
    Schubert, T., Lewis, M., Becker, B.: PaMira – a Parallel SAT Solver with Knowledge Sharing. In: 6th International Workshop on Microprocessor Test and Verification (2005)Google Scholar
  26. 26.
    Shtrichman, O.: Accelerating bounded model checking of safety formulas. Formal Methods in System Design 24(1), 5–24 (2004)CrossRefGoogle Scholar
  27. 27.
    Sinz, C., Blochinger, W., Küchlin, W.: PaSAT – Parallel SAT-Checking with Lemma Exchange: Implementation and Applications. In: Proc. of LICS’01 (2001)Google Scholar
  28. 28.
    The VIS Group: VIS: A system for verification and synthesis. In: Alur, R., Henzinger, T.A. (eds.) CAV 1996. LNCS, vol. 1102, Springer, Heidelberg (1996)Google Scholar
  29. 29.
    Torrisi, F.D.: Modeling and Reach-Set Computation for Analysis and Optimal Control of Discrete Hybrid Automata. Doctoral dissertation, ETH Zürich (2003)Google Scholar
  30. 30.
    Tseitin, G.: On the complexity of derivations in propositional calculus. In: Studies in Constructive Mathematics and Mathematical Logics (1968)Google Scholar
  31. 31.
    VIS Benchmark Suite.
  32. 32.
    Wolfman, S.A., Weld, D.S.: The LPSAT engine & its application to resource planning. In: Dean, T. (ed.) Proc. of 16th International Joint Conference on Artificial Intelligence, pp. 310–315 (1999)Google Scholar
  33. 33.
    Zhang, L., Madigan, C., Moskewicz, M., Malik, S.: Efficient Conflict Driven Learning in a Boolean Satisfiability Solver. In: IEEE/ACM International Conference on Computer-Aided Design, ACM Press, New York (2001)Google Scholar

Copyright information

© Springer Berlin Heidelberg 2007

Authors and Affiliations

  • Erika Ábrahám
    • 1
    • 3
  • Tobias Schubert
    • 1
  • Bernd Becker
    • 1
  • Martin Fränzle
    • 2
  • Christian Herde
    • 2
  1. 1.Albert-Ludwigs-Universität FreiburgGermany
  2. 2.Carl von Ossietzky Universität OldenburgGermany
  3. 3.RWTH AachenGermany

Personalised recommendations