Skip to main content
Log in

Towards better heuristics for solving bounded model checking problems

  • Published:
Constraints Aims and scope Submit manuscript

Abstract

This paper presents a new way to improve the performance of the SAT-based bounded model checking problem on sequential and parallel procedures by exploiting relevant information identified through the characteristics of the original problem. This led us to design a new way of building interesting heuristics based on the structure of the underlying problem. The proposed methodology is generic and can be applied for any SAT problem. This paper compares the state-of-the-art approaches with two new heuristics for sequential procedures: Structure-based and Linear Programming heuristics. We extend these study and applied the above methodology on parallel approaches, especially to refine the sharing measure which shows promising results.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10

Similar content being viewed by others

Notes

  1. http://fmv.jku.at/hwmcc20/index.html

  2. Our focus here is on CDCL-like complete algorithms [52].

  3. Winner of the SAT competition 2021

  4. https://satcompetition.github.io/2022/

  5. For instance, a 32 bits variable will be represented as 32 Boolean variables, and the logical operators (∧, ∨, ≠,…) will rely on auxiliary variables for their representation.

  6. According to the results of the SAT competitions (https://satcompetition.github.io/2022/)

  7. https://tinyurl.com/29a4jcme

  8. http://fmv.jku.at/hwmcc20/

  9. https://akheireddine.github.io/

  10. Other aggregation functions can be used, for example: Ordered Weighted Average, Choquet integral,…

  11. PAR-k is the penalised average run-time, counting each timeout as k times the running time cutoff.

  12. Cumulated execution Time of the Intersection for instances solved by all solvers

  13. (http://www.satcompetition.org/)

  14. This is the strategy used by the best parallel solver of the parallel track of the SAT competition 2021

References

  1. Ábrahám, E., Schubert, T., Becker, B., Fränzle, M., & Herde, C. (2007). Parallel sat solving in bounded model checking. In L. Brim, B. Haverkort, M. Leucker, & J. van de Pol (Eds.) Formal Methods: Applications and Technology (pp. 301–315). Berlin: Springer.

  2. Aloul, F.A., Sakallah, K.A., & Markov, I.L. (2006). Efficient symmetry breaking for boolean satisfiability. IEEE Transactions on Computers, 55 (5), 549–558. https://doi.org/10.1109/TC.2006.75.

    Article  Google Scholar 

  3. Ansótegui, C., Giráldez-Cru, J., & Levy, J. (2012). The community structure of sat formulas. In A. Cimatti R. Sebastiani (Eds.) Theory and Applications of Satisfiability Testing – SAT (pp. 410–423). Springer.

  4. Ansótegui, C., Bonet, M.L., Giráldez-Cru, J., Levy, J., & Simon, L. (2019). Community structure in industrial sat instances. arXiv:1606.03329.

  5. Audemard, G., Hoessen, B., Jabbour, S., Lagniez, J.M., & Piette, C. (2012). Revisiting clause exchange in parallel sat solving. In 15th International Conference on Theory and Applications of Satisfiability Testing (SAT’12), of Lecture notes in computer science (LNCS). Available from: https://hal.archives-ouvertes.fr/hal-00865596, (Vol. 7962 pp. 200–213). Trento: Springer.

  6. Baier, C., & Katoen, J.P. (2008). Principles of Model Checking. Cambridge: The MIT Press.

    MATH  Google Scholar 

  7. Balyo, T., Sanders, P., & Sinz, C. (2015). Hordesat: A massively parallel portfolio sat solver. arXiv:1505.03340.

  8. Biere, A., Cimatti, A., Clarke, E.M., Strichman, O., & Zhu, Y. (2003). Bounded model checking, vol. 12.

  9. Burch, J.R., Clarke, E.M., McMillan, K.L., Dill, D.L., & Hwang, L.J. (1992). Symbolic model checking: 1020 states and beyond. Information and Computation, 98(2), 142–170. https://doi.org/10.1016/0890-5401(92)90017-A.

    Article  MathSciNet  MATH  Google Scholar 

  10. Cheng, X., Zhou, M., Song, X., Gu, M., & Sun, J. (2018). Parallelizing smt solving: Lazy decomposition and conciliation. Artificial Intelligence, 257, 127–157. Available from: https://www.sciencedirect.com/science/article/pii/S0004370218300237. https://doi.org/10.1016/j.artint.2018.01.001.

    Article  MathSciNet  MATH  Google Scholar 

  11. Cimatti, A., Clarke, E., Giunchiglia, E., Giunchiglia, F., Pistore, M., Roveri, M., Sebastiani, R., & Tacchella, A. (2002). NuSMV Version 2: an opensource tool for symbolic model checking. In Proc. International Conference on Computer-Aided Verification (CAV 2002), of LNCS, Vol. 2404. Copenhagen: Springer.

  12. Clarke, E., McMillan, K., Campos, S., & Hartonas-Garmhausen, V. (1996). Symbolic model checking. In R. Alur T. A. Henzinger (Eds.) Computer Aided Verification (pp. 419–422). Berlin: Springer.

  13. Clarke, E., Biere, A., Raimi, R., & Zhu, Y. (2001). Bounded model checking using satisfiability solving. Form. Methods Syst. Des., 19(1), 7–34. Availablefrom: https://doi.org/10.1023/A:1011276507260.

    Article  MATH  Google Scholar 

  14. Clarke, E., Emerson, E., & Sifakis, J. (2009). Model checking. Communications of the ACM, 52(11). https://doi.org/10.1145/1592761.1592781.

  15. Clarke, E.M., Klieber, W., Nováček, M., & Zuliani, P. (2012). Model Checking and the State Explosion Problem, (pp. 1–30). Berlin: Springer.

    Google Scholar 

  16. Crawford, J., Ginsberg, M., Luks, E., & Roy, A. (1996). Symmetry-breaking predicates for search problems. In Proceedings of the Fifth International Conference on Principles of Knowledge Representation and Reasoning, KR’96 (pp. 148–159). San Francisco: Morgan Kaufmann Publishers Inc.

  17. Davis, M., Logemann, G., & Loveland, D. (1962). A machine program for theorem-proving. Available from: https://doi.org/10.1145/368273.368557, (Vol. 5 pp. 394–397).

  18. Duret-Lutz, A., Lewkowicz, A., Fauchille, A., Michaud, T., Renault, E., & Xu, L. (2016). Spot 2.0 — a framework for LTL and ω-automata manipulation. In Proceedings of the 14th International Symposium on Automated Technology for Verification and Analysis (ATVA’16), of lecture notes in computer science, (Vol. 9938 pp. 122–129). Springer.

  19. Eén, N., & Soörensson, N. (2004). An extensible sat-solver. In E. Giunchiglia A. Tacchella (Eds.) Theory and Applications of Satisfiability Testing (pp. 502–518). Berlin: Springer.

  20. Frost, D., & Dechter, R. (2000). Dead-end driven learning. Proceedings of the National Conference on Artificial Intelligence, 1(08).

  21. Ganai, M., & Gupta, A. (2008). Tunneling and slicing: Towards scalable bmc. In Proceedings of the 45th Annual Design Automation Conference, DAC ’08 (pp. 137–142). New York: Association for Computing Machinery. Available from: https://doi.org/10.1145/1391469.1391507.

  22. Ganai, M., Gupta, A., Yang, Z., & Ashar, P. (2006). Efficient distributed sat and sat-based distributed bounded model checking. International Journal on Software Tools for Technology Transfer, 8, 387–396. https://doi.org/10.1007/s10009-005-0203-z.

    Article  MATH  Google Scholar 

  23. Ganai, M. K. (2007). Sat-based scalable formal verification solutions. In In Series on Integrated Circuits and Systems. New York: Springer.

  24. Ganai, M.K. (2010). Propelling SAT and sat-based BMC using careset. In R. Bloem N. Sharygina (Eds.) Proceedings of 10th International Conference on Formal Methods in Computer-Aided Design, FMCAD (pp. 231–238). Lugano: IEEE. Available from: http://ieeexplore.ieee.org/document/5770954/.

  25. Ginsberg, M.L., & McAllester, D.A. (1994). In A. Borning (Ed.) PPCP. Lecture Notes in Computer Science. Available from: http://dblp.uni-trier.de/db/conf/ppcp/ppcp94-lncs.html#GinsbergM94, (Vol. 874 pp. 243–265). Springer.

  26. Guo, L., Hamadi, Y., Jabbour, S., & Sais, L. (2010). Diversification and intensification in parallel sat solving. In D. Cohen (Ed.) Principles and Practice of Constraint Programming - CP 2010 (pp. 252–265). Berlin: Springer.

  27. Guo, L., Hamadi, Y., Jabbour, S., & Saïs, L. (2010). Diversification and intensification in parallel SAT Solving. In 16th International Conference on Principles and Practice of Constraint Programming (CP’10). United Kingdom (pp. 252–265). Available from: https://hal.archives-ouvertes.fr/hal-00865417.

  28. Hamadi, Y., Jabbour, S., & Sais, L. (2009). Manysat: a parallel sat solver. Journal on Satisfiability, Boolean Modeling and Computation, 6 (4), 245–262. Available from: http://dblp.uni-trier.de/db/journals/jsat/jsat6.html#HamadiJS09.

    Article  MATH  Google Scholar 

  29. Hamadi, Y., Marques-Silva, J., & Wintersteiger, C.M. (2011). Lazy decomposition for distributed decision procedures. In Proceedings 10th International Workshop on Parallel and Distributed Methods in verifiCation (PDMC’11), (Vol. 72 pp. 43–54).

  30. Holzmann, G.J. (2018). Explicit-state model checking. In E.M. Clarke, T.A. Henzinger, H. Veith, & R. Bloem (Eds.) Handbook of Model Checking (pp. 153–171). Cham: Springer International Publishing. Available from: https://doi.org/10.1007/978-3-319-10575-8_5.

  31. Jabbour, S., Lazaar, N., Hamadi, Y., & Sebag, M. (2012). Cooperation control in parallel SAT solving: a multi-armed bandit approach. In Workshop on Bayesian Optimization and Decision Making. Lake Tahoe, United States. Available from: https://hal.archives-ouvertes.fr/hal-00870946.

  32. Jackson, P., & Sheridan, D. (2005). Clause form conversions for boolean circuits. In H.H. Hoos D.J. Mitchell (Eds.) Theory and Applications of Satisfiability Testing (pp. 183–198). Berlin: Springer.

  33. Jamali, S., & Mitchell, D. (2018). Centrality-based improvements to cdcl heuristics. In O. Beyersdorff C. M. Wintersteiger (Eds.) Theory and Applications of Satisfiability Testing - SAT 2018 (pp. 122–131). Cham: Springer International Publishing.

  34. Katsirelos, G., & Simon, L. (2012). Eigenvector centrality in industrial sat instances. In M. Milano (Ed.) Principles and Practice of Constraint Programming (pp. 348–356). Berlin: Springer.

  35. Kaufmann, M., & Kottler, S. (2011). Sartagnan - a parallel portfolio sat solver with lockless physical clause sharing. In In Pragmatics of SAT.

  36. Kheireddine, A., Renault, E., & Baarir, S. (2021). Towards better heuristics for solving bounded model checking problems. In L.D. Michel (Ed.) 27th International Conference on Principles and Practice of Constraint Programming (CP 2021). Available from: https://drops.dagstuhl.de/opus/volltexte/2021/15298, (Vol. 210 pp. 7:1–7:11). Dagstuhl: Leibniz International Proceedings in Informatics (LIPIcs).

  37. Le Frioux, L., Baarir, S., Sopena, J., & Kordon, F. (2017). PainleSS: a framework for parallel SAT solving. In Proceedings of the 20th International Conference on Theory and Applications of Satisfiability Testing (SAT’17), Lecture Notes in Computer Science, (Vol. 10491 pp. 233–250). Cham: Springer.

  38. Liang, J.H., Ganesh, V., Poupart, P., Czarnecki, K., & Poupart, P. (2016). Learning rate based branching heuristic for sat solvers. In SAT.

  39. Manna, Z., & Pnueli, A. (1990). A hierarchy of temporal properties (invited paper, 1989). In PODC ’90.

  40. Metin, H., Baarir, S., Colange, M., & Kordon, F. (2018). Cdclsym: Introducing effective symmetry breaking in sat solving. In Proceedings of the 24th International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS’18), Lecture Notes in Computer Science, (Vol. 10805 pp. 99–114). Thessaloniki: Springer.

  41. Pelánek, R. (2007). Beem: Benchmarks for explicit model checkers. In D. Bošnački S. Edelkamp (Eds.) Model Checking Software (pp. 263–267). Berlin: Springer.

  42. Rozier, K.Y. (2011). Survey: Linear temporal logic symbolic model checking. Computer Science Review, 5(2), 163–203. Available from: https://doi.org/10.1016/j.cosrev.2010.06.002.

    Article  MATH  Google Scholar 

  43. Cherif, M.S., Habet, D., & Terrioux, C. (2021). Un bandit manchot pour combiner CHB et VSIDS. In Actes des 16èmes Journées Francophones de Programmation par Contraintes (JFPC), Nice, France. Available from: https://hal-amu.archives-ouvertes.fr/hal-03270931.

  44. Schaefer, T.J. (1978). The complexity of satisfiability problems. In Proceedings of the Tenth Annual ACM Symposium on Theory of Computing, STOC ’78 (pp. 216–226). New York: Association for Computing Machinery. Available from: https://doi.org/10.1145/800133.804350.

  45. Shtrichman, O. (2000). Tuning sat checkers for bounded model checking. In E. A. Emerson A. P. Sistla (Eds.) Computer Aided Verification (pp. 480–494). Berlin: Springer.

  46. Marques Silva, J.P., & Sakallah, K.A. (1997). Grasp—a new search algorithm for satisfiability. In Proceedings of the 1996 IEEE/ACM International Conference on Computer-Aided Design, ICCAD ’96 (pp. 220–227). USA: IEEE Computer Society.

  47. Simon, L., & Audemard, G. (2009). Predicting learnt clauses quality in modern SAT solver. In Twenty-first International Joint Conference on Artificial Intelligence (IJCAI’09), Pasadena, United States. Available from: https://hal.inria.fr/inria-00433805.

  48. Wang, C., Jin, H., Hachtel, G.D., & Somenzi, F. (2004). Refining the sat decision ordering for bounded model checking. In Proceedings of the 41st Annual Design Automation Conference, DAC ’04 (pp. 535–538). New York: Association for Computing Machinery. Available from: https://doi.org/10.1145/996566.996713.

  49. Wieringa, S. (2011). On incremental satisfiability and bounded model checking. CEUR Workshop Proceedings, 832, 13–21.

    Google Scholar 

  50. Zarpas, E. (2004). Simple yet efficient improvements of sat based bounded model checking. In A. J. Hu E. K. Martin (Eds.) Formal Methods in Computer-Aided Design (pp. 174–185). Berlin: Springer.

  51. Zhang, H., Bonacina, M.P., & Hsiang, J. (1996). Psato: a distributed propositional prover and its application to quasigroup problems. Journal of Symbolic Computation, 21, 543–560. https://doi.org/10.1006/jsco.1996.0030.

    Article  MathSciNet  MATH  Google Scholar 

  52. Zhang, L., Madigan, C.F., Moskewicz, M.W., & Malik, S. (2001). Efficient conflict driven learning in a boolean satisfiability solver. In Proceedings of the 2001 IEEE/ACM International Conference on Computer-Aided Design, ICCAD ’01 (pp. 279–285). IEEE Press.

Download references

Author information

Authors and Affiliations

Authors

Corresponding authors

Correspondence to Anissa Kheireddine, Etienne Renault or Souheib Baarir.

Additional information

Publisher’s note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Digital Object Identifier 10.4230/LIPIcs.CONSTRAINTS.2022.

Rights and permissions

Springer Nature or its licensor holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Kheireddine, A., Renault, E. & Baarir, S. Towards better heuristics for solving bounded model checking problems. Constraints 28, 45–66 (2023). https://doi.org/10.1007/s10601-022-09339-8

Download citation

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10601-022-09339-8

Keywords

Navigation