Don't care in SMT: Building flexible yet efficient abstraction/refinement solvers

Andreas Bauer*, Martin Leucker, Christian Schallhart, Michael Tautschnig

*Corresponding author for this work

    Research output: Contribution to journalArticlepeer-review

    1 Citation (Scopus)

    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.

    Original languageEnglish
    Pages (from-to)23-37
    Number of pages15
    JournalInternational Journal on Software Tools for Technology Transfer
    Volume12
    Issue number1
    DOIs
    Publication statusPublished - Jan 2010

    Fingerprint

    Dive into the research topics of 'Don't care in SMT: Building flexible yet efficient abstraction/refinement solvers'. Together they form a unique fingerprint.

    Cite this