Proceedings

Simulate, Refine and Integrate: Strategy Synthesis for Efficient SMT Solving

Download BibTeX Cite

Proceedings of the Thirty-Fourth International Joint Conference on Artificial Intelligence. Main Track. Pages 7976-7984.

https://doi.org/10.24963/ijcai.2025/887

Abstract

Satisfiability Modulo Theories (SMT) solvers are crucial in many applications, yet their performance is often a bottleneck. This paper introduces SIRISMT, a novel framework that employs machine learning techniques for the automatic synthesis of efficient SMT-solving strategies. Specifically, SIRISMT targets at Z3 and consists of three key stages. First, given a set of training SMT formulas, SIRISMT simulates the solving process by leveraging reinforcement learning to guide its exploration within the strategy space. Next, SIRISMT refines the collected strategies by pruning redundant tactics and generating augmented strategies based on the subsequence structure of the learned strategies. These refined strategies are then fed back into the reinforcement learning model. Finally, the refined and optimized strategies are integrated into one strategy, which can be directly plugged into modern SMT solvers. Extensive evaluations show the superior performance of SIRISMT over the baseline methods. For example, compared to the default Z3, it solves 26.8% more formulas and achieves up to an 86.3% improvement in the Par-2 score on benchmark datasets. Additionally, we show that the synthesized strategy can improve the code coverage by up to 11.8% in a downstream symbolic execution benchmark.

  1. [Amadini et al., 2023] Roberto Amadini, Maurizio Gab- brielli, Tong Liu, and Jacopo Mauro. On the evaluation of (meta-)solver approaches. J. Artif. Intell. Res., 76:705- 719, 2023.
  2. [Balunovic et al., 2018] Mislav Balunovic, Pavol Bielik, and Martin Vechev. Learning to solve smt formulas. In S. Ben- gio, H. Wallach, H. Larochelle, K. Grauman, N. Cesa- Bianchi, and R. Garnett, editors, Advances in Neural In- formation Processing Systems, volume 31.
  3. [Barbosa et al., 2022] Haniel Barbosa, Clark Barrett, Martin Brain, Gereon Kremer, Hanna Lachnitt, Makai Mann, Ab- dalrhman Mohamed, Mudathir Mohamed, Aina Niemetz, Andres Nötzli, et al. cvc5: A versatile and industrial- strength smt solver. In International Conference on Tools and Algorithms for the Construction and Analysis of Sys- tems, pages 415-442. Springer, 2022.
  4. [Barrett et al., 2016a] C. Barrett, P. Fontaine, and C. Tinelli. AProVE Benchmarks. https://clc-gitlab.cs.uiowa.edu: 2443/SMT-LIB-benchmarks/QF NIA/tree/master/ AProVE, 2016. Link
  5. [Barrett et al., 2016b] C. Barrett, P. Fontaine, and C. Tinelli. core benchmarks. https://clc-gitlab.cs.uiowa.edu: 2443/SMT-LIB-benchmarks/QF BV/tree/master/ bruttomesso/core, 2016. Link
  6. [Barrett et al., 2016c] C. Barrett, P. Fontaine, and C. Tinelli. hycomp benchmarks. https://clc-gitlab.cs.uiowa.edu: 2443/SMT-LIB-benchmarks/QF NRA/tree/master/ hycomp, 2016. Link
  7. [Barrett et al., 2016d] C. Barrett, P. Fontaine, and C. Tinelli. leipzig benchmarks. https://clc-gitlab.cs.uiowa.edu: 2443/SMT-LIB-benchmarks/QF NIA/tree/master/leipzig, 2016. Link
  8. [Barrett et al., 2016e] C. Barrett, P. Fontaine, and C. Tinelli. Sage2 benchmarks. https://clc-gitlab.cs.uiowa.edu:2443/ SMT-LIB-benchmarks/Sage2, 2016. Link
  9. [Barrett et al., 2016f] C. Barrett, P. Fontaine, and C. Tinelli. The satisfiability modulo theories library (smt-lib). www. SMT-LIB.org, 2016.
  10. [Beyer and Dangl, 2018] Dirk Beyer and Matthias Dangl. Strategy selection for software verification based on boolean features: A simple but effective approach. In Leveraging Applications of Formal Methods, Verification and Validation. Verification: 8th International Symposium, ISoLA 2018, Limassol, Cyprus, November 5-9, 2018, Pro- ceedings, Part II 8, pages 144-159. Springer, 2018.
  11. [Cadar et al., 2008] Cristian Cadar, Daniel Dunbar, and Dawson Engler. Klee: Unassisted and automatic genera- tion of high-coverage tests for complex systems programs. In Proceedings of the 8th USENIX Conference on Operat- ing Systems Design and Implementation, OSDI'08, page 209-224, USA, 2008. USENIX Association.
  12. [Chen et al., 2021] Zhenbang Chen, Zehua Chen, Ziqi Shuai, Guofeng Zhang, Weiyu Pan, Yufeng Zhang, and Ji Wang. Synthesize solving strategy for symbolic exe- cution. In Proceedings of the 30th ACM SIGSOFT In- ternational Symposium on Software Testing and Analysis, ISSTA 2021, page 348-360, New York, NY, USA, 2021. Association for Computing Machinery.
  13. [De Moura and Bjørner, 2008] Leonardo De Moura and Nikolaj Bjørner. Z3: An efficient smt solver. In Proceed- ings of the Theory and Practice of Software, 14th Interna- tional Conference on Tools and Algorithms for the Con- struction and Analysis of Systems, TACAS'08/ETAPS'08, page 337-340, Berlin, Heidelberg, 2008. Springer-Verlag.
  14. [De Moura and Bjørner, 2011] Leonardo De Moura and Nikolaj Bjørner. Satisfiability modulo theories: Introduc- tion and applications. Commun. ACM, 54(9):69-77, sep 2011.
  15. [Dutertre, 2014] Bruno Dutertre. Yices 2.2. In Armin Biere and Roderick Bloem, editors, Computer Aided Verification -26th International Conference, CAV 2014, Held as Part of the Vienna Summer of Logic, VSL 2014, Vienna, Aus- tria, July 18-22, 2014. Proceedings, volume 8559 of Lec- ture Notes in Computer Science, pages 737-744. Springer, 2014.
  16. [Jha et al., 2010] Susmit Jha, Sumit Gulwani, Sanjit A. Se- shia, and Ashish Tiwari. Oracle-guided component-based program synthesis. In 2010 ACM/IEEE 32nd International Conference on Software Engineering, volume 1, pages 215-224, 2010.
  17. [Kipf and Welling, 2017] Thomas N Kipf and Max Welling. Semi-supervised classification with graph convolutional networks. In ICLR, 2017.
  18. [Kroening et al., 2023] Daniel Kroening, Peter Schrammel, and Michael Tautschnig. Cbmc: The c bounded model checker, 2023.
  19. [Kurin et al., 2019] Vitaly Kurin, Saad Godil, Shimon Whiteson, and Bryan Catanzaro. Improving SAT solver heuristics with graph networks and reinforcement learn- ing. CoRR, abs/1909.11830, 2019.
  20. [Leeson et al., 2023] Will Leeson, Matthew B Dwyer, and Antonio Filieri. Sibyl: Improving software engineering tools with smt selection. In Proceedings of the 45th Inter- national Conference on Software Engineering, ICSE '23, page 2185-2197. IEEE Press, 2023.
  21. [Liu et al., 2021] Hongzhi Liu, Jie Luo, Ying Li, and Zhong- hai Wu. Iterative compilation optimization based on met- ric learning and collaborative filtering. ACM Trans. Archit. Code Optim., 19(1), dec 2021.
  22. [Lu et al., 2024] Zhengyang Lu, Stefan Siemer, Piyush Jha, Joel Day, Florin Manea, and Vijay Ganesh. Layered and staged monte carlo tree search for smt strategy synthesis, 2024. IJCAI
  23. [Niemetz and Preiner, 2023] Aina Niemetz and Mathias Preiner. Bitwuzla. In Constantin Enea and Akash Lal, editors, Computer Aided Verification -35th International Conference, CAV 2023, Paris, France, July 17-22, 2023, Proceedings, Part II, volume 13965 of Lecture Notes in Computer Science, pages 3-17. Springer, 2023.
  24. [Nipkow et al., 2002] Tobias Nipkow, Lawrence C Paulson, and Markus Wenzel. Isabelle/HOL: a proof assistant for higher-order logic, volume 2283. Springer Science & Business Media, 2002.
  25. [Palikareva and Cadar, 2013] Hristina Palikareva and Cris- tian Cadar. Multi-solver support in symbolic execution. In Proceedings of the 25th International Conference on Com- puter Aided Verification -Volume 8044, CAV 2013, page 53-68, Berlin, Heidelberg, 2013. Springer-Verlag.
  26. [Paszke et al., 2017] Adam Paszke, Sam Gross, Soumith Chintala, Gregory Chanan, Edward Yang, Zachary De- Vito, Zeming Lin, Alban Desmaison, Luca Antiga, and Adam Lerer. Automatic differentiation in pytorch, 2017.
  27. [Pimpalkhare et al., 2021] Nikhil Pimpalkhare, Federico Mora, Elizabeth Polgreen, and Sanjit A. Seshia. Med- leysolver: Online SMT algorithm selection. In Chu-Min Li and Felip Manyà, editors, Theory and Applications of Satisfiability Testing -SAT 2021 -24th International Con- ference, Barcelona, Spain, July 5-9, 2021, Proceedings, volume 12831 of Lecture Notes in Computer Science, pages 453-470. Springer, 2021.
  28. [pys, 2014] Pysmt: A solver-agnostic library for fast proto- typing of smt-based algorithms. https://pypi.org/project/ PySMT/, 2014. Link
  29. [Quinlan, 1993] J. Ross Quinlan. C4.5: Programs for Ma- chine Learning. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA, 1993.
  30. [Ramírez et al., 2016] Nicolás Gálvez Ramírez, Youssef Hamadi, Eric Monfroy, and Frédéric Saubion. Evolving smt strategies. In 2016 IEEE 28th International Confer- ence on Tools with Artificial Intelligence (ICTAI), pages 247-254, 2016.
  31. [Richter et al., 2020] Cedric Richter, Eyke Hüllermeier, Marie-Christine Jakobs, and Heike Wehrheim. Algorithm selection for software validation based on graph kernels. Autom. Softw. Eng., 27(1):153-186, 2020.
  32. [Scott et al., 2021] Joseph Scott, Aina Niemetz, Mathias Preiner, Saeed Nejati, and Vijay Ganesh. Machsmt: A machine learning-based algorithm selector for smt solvers. In International Conference on Tools and Algorithms for the Construction and Analysis of Systems, pages 303-325. Springer, 2021.
  33. [Selsam et al., 2019] Daniel Selsam, Matthew Lamm, Benedikt Bünz, Percy Liang, Leonardo de Moura, and David L. Dill. Learning a sat solver from single-bit supervision, 2019.
  34. [Song et al., 2023] Kunjian Song, Mikhail R. Gadelha, Franz Brauße, Rafael S. Menezes, and Lucas C. Cordeiro. Esbmc v7.3: Model checking c++ programs using clang ast, 2023.
  35. [van Hasselt et al., 2015] Hado van Hasselt, Arthur Guez, and David Silver. Deep reinforcement learning with dou- ble q-learning, 2015.
  36. [Veličković et al., 2018] Petar Veličković, Guillem Cucurull, Arantxa Casanova, Adriana Romero, Pietro Liò, and Yoshua Bengio. Graph attention networks, 2018.
  37. [Wang et al., 2017] Mingzhe Wang, Yihe Tang, Jian Wang, and Jia Deng. Premise selection for theorem proving by deep graph embedding, 2017.
  38. [Wang et al., 2021] Guancheng Wang, Ruobing Shen, Junjie Chen, Yingfei Xiong, and Lu Zhang. Probabilistic delta debugging. In Proceedings of the 29th ACM Joint Meeting on European Software Engineering Conference and Sym- posium on the Foundations of Software Engineering, ES- EC/FSE 2021, page 881-892, New York, NY, USA, 2021. Association for Computing Machinery.
  39. [Wang et al., 2022] Xu Wang, Sen Wang, Xingxing Liang, Dawei Zhao, Jincai Huang, Xin Xu, Bin Dai, and Qiguang Miao. Deep reinforcement learning: a survey. IEEE Trans- actions on Neural Networks and Learning Systems, 2022.
  40. [Wu et al., 2020] Zonghan Wu, Shirui Pan, Fengwen Chen, Guodong Long, Chengqi Zhang, and S Yu Philip. A com- prehensive survey on graph neural networks. IEEE trans- actions on neural networks and learning systems, 32(1):4- 24, 2020.
  41. [Xu et al., 2011] Lin Xu, Frank Hutter, Holger H. Hoos, and Kevin Leyton-Brown. Satzilla: Portfolio-based algorithm selection for SAT. CoRR, abs/1111.2249, 2011.

References were extracted automatically from the PDF and may contain errors.

Welcome Future Conferences AI Journal Division IJCAI Proceedings About IJCAI IJCAI Awards