Algorithm selection for SMT MachSMT: Machine Learning Driven Algorithm Selection for SMT Solvers

被引:3
|
作者
Scott, Joseph [1 ]
Niemetz, Aina [2 ]
Preiner, Mathias [2 ]
Nejati, Saeed [1 ]
Ganesh, Vijay [1 ]
机构
[1] 200 Univ Ave, Waterloo, ON, Canada
[2] 450 Jane Stanford Way, Stanford, CA 94305 USA
关键词
SMT solvers; Machine learning; Algorithm selection; PORTFOLIO;
D O I
10.1007/s10009-023-00696-0
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
This paper presents MachSMT, an algorithm selection tool for Satisfiability Modulo Theories (SMT) solvers. MachSMT supports the entirety of the SMT-LIB language and standardized SMT-LIB theories, and is easy to extend with support for new theories. MachSMT deploys machine learning methods to construct both empirical hardness models and pairwise ranking comparators over state-of-the-art SMT solvers. Given an input formula in SMT-LIB format, MachSMT leverages these learnt models to output a ranking of solvers based on predicted runtimes. We provide an extensive empirical evaluation of MachSMT to demonstrate the efficiency and efficacy of MachSMT over three broad usage scenarios on theories and theory combinations of practical relevance (e.g., bit-vectors, (non)linear integer and real arithmetic, arrays, and floating-point arithmetic). First, we deploy MachSMT on state-of-the-art solvers in SMT-COMP 2019 and 2020. We observe MachSMT frequently improves on the best performing solvers in the competition, winning 57 divisions outright, with up to a 99.4% improvement in PAR-2 score. Second, we evaluate MachSMT to select configurations from a single underlying solver. We observe that MachSMT solves 898 more benchmarks and up to a 93.4% improvement in PAR-2 score across 23 configurations of the SMT solver cvc5. Last, we evaluate MachSMT on domain-specific problems, namely network verification with simple domain-specific features, and observe an improvement of 77.3% in PAR-2 score.
引用
收藏
页码:219 / 239
页数:21
相关论文
共 50 条
  • [1] Algorithm selection for SMTMachSMT: machine learning driven algorithm selection for SMT solvers
    Joseph Scott
    Aina Niemetz
    Mathias Preiner
    Saeed Nejati
    Vijay Ganesh
    [J]. International Journal on Software Tools for Technology Transfer, 2023, 25 : 219 - 239
  • [2] Dynamic Algorithm Selection for SMT
    Pimpalkhare, Nikhil
    [J]. 2020 35TH IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING (ASE 2020), 2020, : 1376 - 1378
  • [3] MedleySolver: Online SMT Algorithm Selection
    Pimpalkhare, Nikhil
    Mora, Federico
    Polgreen, Elizabeth
    Seshia, Sanjit A.
    [J]. THEORY AND APPLICATIONS OF SATISFIABILITY TESTING, SAT 2021, 2021, 12831 : 453 - 470
  • [4] Publisher Correction: Algorithm selection for SMT
    Joseph Scott
    Aina Niemetz
    Mathias Preiner
    Saeed Nejati
    Vijay Ganesh
    [J]. International Journal on Software Tools for Technology Transfer, 2023, 25 (5-6) : 799 - 800
  • [5] Algorithm selection for SMT (vol 25, pg 219, 2023)
    Scott, Joseph
    Niemetz, Aina
    Preiner, Mathias
    Nejati, Saeed
    Ganesh, Vijay
    [J]. INTERNATIONAL JOURNAL ON SOFTWARE TOOLS FOR TECHNOLOGY TRANSFER, 2023, 25 (5-6) : 799 - 800
  • [6] Learning SMT(LRA) Constraints using SMT Solvers
    Kolb, Samuel
    Teso, Stefano
    Passerini, Andrea
    De Raedt, Luc
    [J]. PROCEEDINGS OF THE TWENTY-SEVENTH INTERNATIONAL JOINT CONFERENCE ON ARTIFICIAL INTELLIGENCE, 2018, : 2333 - 2340
  • [7] Probing questions for SMT selection
    Van Horn, Jeff
    [J]. CONNECTOR SPECIFIER, 2008, 24 (03) : 16 - 18
  • [8] Application of Machine Learning to Algorithm Selection for TSP
    Pihera, Josef
    Musliu, Nysret
    [J]. 2014 IEEE 26TH INTERNATIONAL CONFERENCE ON TOOLS WITH ARTIFICIAL INTELLIGENCE (ICTAI), 2014, : 47 - 54
  • [9] Selection of a machine learning algorithm for OSHA fatalities
    Mohammed, Jaby
    Mahmud, Md Jubaer
    [J]. 2020 IEEE TECHNOLOGY & ENGINEERING MANAGEMENT CONFERENCE (TEMSCON 2020), 2020,
  • [10] Line Selection and Algorithm Selection for Transmission Switching by Machine Learning Methods
    Yang, Zhu
    Oren, Shmuel
    [J]. 2019 IEEE MILAN POWERTECH, 2019,