Cargando…
MachSMT: A Machine Learning-based Algorithm Selector for SMT Solvers
In this paper, we present MachSMT, an algorithm selection tool for Satisfiability Modulo Theories (SMT) solvers. MachSMT supports the entirety of the SMT-LIB language. It employs machine learning (ML) methods to construct both empirical hardness models (EHMs) and pairwise ranking comparators (PWCs)...
Autores principales: | , , , , |
---|---|
Formato: | Online Artículo Texto |
Lenguaje: | English |
Publicado: |
2021
|
Materias: | |
Acceso en línea: | https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7984560/ http://dx.doi.org/10.1007/978-3-030-72013-1_16 |
_version_ | 1783668091345960960 |
---|---|
author | Scott, Joseph Niemetz, Aina Preiner, Mathias Nejati, Saeed Ganesh, Vijay |
author_facet | Scott, Joseph Niemetz, Aina Preiner, Mathias Nejati, Saeed Ganesh, Vijay |
author_sort | Scott, Joseph |
collection | PubMed |
description | In this paper, we present MachSMT, an algorithm selection tool for Satisfiability Modulo Theories (SMT) solvers. MachSMT supports the entirety of the SMT-LIB language. It employs machine learning (ML) methods to construct both empirical hardness models (EHMs) and pairwise ranking comparators (PWCs) over state-of-the-art SMT solvers. Given an SMT formula [Formula: see text] as input, MachSMT leverages these learnt models to output a ranking of solvers based on predicted run time on the formula [Formula: see text] . We evaluate MachSMT on the solvers, benchmarks, and data obtained from SMT-COMP 2019 and 2020. We observe MachSMT frequently improves on competition winners, winning [Formula: see text] divisions outright and up to a [Formula: see text] % improvement in PAR-2 score, notably in logics that have broad applications (e.g., BV, LIA, NRA, etc.) in verification, program analysis, and software engineering. The MachSMT tool is designed to be easily tuned and extended to any suitable solver application by users. MachSMT is not a replacement for SMT solvers by any means. Instead, it is a tool that enables users to leverage the collective strength of the diverse set of algorithms implemented as part of these sophisticated solvers. |
format | Online Article Text |
id | pubmed-7984560 |
institution | National Center for Biotechnology Information |
language | English |
publishDate | 2021 |
record_format | MEDLINE/PubMed |
spelling | pubmed-79845602021-03-23 MachSMT: A Machine Learning-based Algorithm Selector for SMT Solvers Scott, Joseph Niemetz, Aina Preiner, Mathias Nejati, Saeed Ganesh, Vijay Tools and Algorithms for the Construction and Analysis of Systems Article In this paper, we present MachSMT, an algorithm selection tool for Satisfiability Modulo Theories (SMT) solvers. MachSMT supports the entirety of the SMT-LIB language. It employs machine learning (ML) methods to construct both empirical hardness models (EHMs) and pairwise ranking comparators (PWCs) over state-of-the-art SMT solvers. Given an SMT formula [Formula: see text] as input, MachSMT leverages these learnt models to output a ranking of solvers based on predicted run time on the formula [Formula: see text] . We evaluate MachSMT on the solvers, benchmarks, and data obtained from SMT-COMP 2019 and 2020. We observe MachSMT frequently improves on competition winners, winning [Formula: see text] divisions outright and up to a [Formula: see text] % improvement in PAR-2 score, notably in logics that have broad applications (e.g., BV, LIA, NRA, etc.) in verification, program analysis, and software engineering. The MachSMT tool is designed to be easily tuned and extended to any suitable solver application by users. MachSMT is not a replacement for SMT solvers by any means. Instead, it is a tool that enables users to leverage the collective strength of the diverse set of algorithms implemented as part of these sophisticated solvers. 2021-02-26 /pmc/articles/PMC7984560/ http://dx.doi.org/10.1007/978-3-030-72013-1_16 Text en © The Author(s) 2021 Open Access This chapter is licensed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license and indicate if changes were made. The images or other third party material in this chapter are included in the chapter's Creative Commons license, unless indicated otherwise in a credit line to the material. If material is not included in the chapter's Creative Commons license and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. |
spellingShingle | Article Scott, Joseph Niemetz, Aina Preiner, Mathias Nejati, Saeed Ganesh, Vijay MachSMT: A Machine Learning-based Algorithm Selector for SMT Solvers |
title | MachSMT: A Machine Learning-based Algorithm Selector for SMT Solvers |
title_full | MachSMT: A Machine Learning-based Algorithm Selector for SMT Solvers |
title_fullStr | MachSMT: A Machine Learning-based Algorithm Selector for SMT Solvers |
title_full_unstemmed | MachSMT: A Machine Learning-based Algorithm Selector for SMT Solvers |
title_short | MachSMT: A Machine Learning-based Algorithm Selector for SMT Solvers |
title_sort | machsmt: a machine learning-based algorithm selector for smt solvers |
topic | Article |
url | https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7984560/ http://dx.doi.org/10.1007/978-3-030-72013-1_16 |
work_keys_str_mv | AT scottjoseph machsmtamachinelearningbasedalgorithmselectorforsmtsolvers AT niemetzaina machsmtamachinelearningbasedalgorithmselectorforsmtsolvers AT preinermathias machsmtamachinelearningbasedalgorithmselectorforsmtsolvers AT nejatisaeed machsmtamachinelearningbasedalgorithmselectorforsmtsolvers AT ganeshvijay machsmtamachinelearningbasedalgorithmselectorforsmtsolvers |