Don't care in SMT: Building flexible yet efficient abstraction/refinement solvers
| dc.contributor.author | Bauer, Andreas | |
| dc.contributor.author | Leucker, Martin | |
| dc.contributor.author | Schallhart, Christian | |
| dc.contributor.author | Tautschnig, Michael | |
| dc.date.accessioned | 2015-12-10T22:39:03Z | |
| dc.date.issued | 2010 | |
| dc.date.updated | 2016-02-24T11:44:35Z | |
| dc.description.abstract | This paper describes a method for combining "off-the-shelf" SAT and constraint solvers for building an efficient Satisfiability Modulo Theories (SMT) solver for a wide range of theories. Our method follows the abstraction/refinement approach to simplify the implementation of custom SMT solvers. The expected performance penalty by not using an interweaved combination of SAT and theory solvers is reduced by generalising a Boolean solution of an SMT problem first via assigning don't care to as many variables as possible. We then use the generalised solution to determine a thereby smaller constraint set to be handed over to the constraint solver for a background theory. We show that for many benchmarks and real-world problems, this optimisation results in considerably smaller and less complex constraint problems. The presented approach is particularly useful for assembling a practically viable SMT solver quickly, when neither a suitable SMT solver nor a corresponding incremental theory solver is available. We have implemented our approach in the ABsolver framework and applied the resulting solver successfully to an industrial case-study: the verification problems arising in verifying an electronic car steering control system impose non-linear arithmetic constraints, which do not fall into the domain of any other available solver. | |
| dc.identifier.issn | 1433-2787 | |
| dc.identifier.uri | http://hdl.handle.net/1885/57004 | |
| dc.publisher | Springer | |
| dc.source | International Journal on Software Tools for Technology Transfer | |
| dc.subject | Keywords: Background theory; Constraint problems; Constraint set; Constraint solver; Constraint solvers; Non-linear; Optimisations; Performance penalties; Real-world problem; Satisfiability modulo Theories; Steering control system; Theory solvers; Verification prob Constraint solver; SMT; Verification | |
| dc.title | Don't care in SMT: Building flexible yet efficient abstraction/refinement solvers | |
| dc.type | Journal article | |
| local.bibliographicCitation.issue | Published online: 10 November 2009 | |
| local.bibliographicCitation.lastpage | 37 | |
| local.bibliographicCitation.startpage | 23 | |
| local.contributor.affiliation | Bauer, Andreas, College of Engineering and Computer Science, ANU | |
| local.contributor.affiliation | Leucker, Martin, Technische Universitat Munchen | |
| local.contributor.affiliation | Schallhart, Christian, Technische Universitat Darmstadt | |
| local.contributor.affiliation | Tautschnig, Michael, Technische Universitat Darmstadt | |
| local.contributor.authoruid | Bauer, Andreas, u4492070 | |
| local.description.embargo | 2037-12-31 | |
| local.description.notes | Imported from ARIES | |
| local.identifier.absfor | 080309 - Software Engineering | |
| local.identifier.absfor | 080203 - Computational Logic and Formal Languages | |
| local.identifier.absfor | 080303 - Computer System Security | |
| local.identifier.ariespublication | u8803936xPUB383 | |
| local.identifier.citationvolume | 12 | |
| local.identifier.doi | 10.1007/s10009-009-0133-2 | |
| local.identifier.scopusID | 2-s2.0-77949264912 | |
| local.type.status | Published Version |