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)...

Descripción completa

Detalles Bibliográficos
Autores principales: Scott, Joseph, Niemetz, Aina, Preiner, Mathias, Nejati, Saeed, Ganesh, Vijay
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