Even Faster Conflicts and Lazier Reductions for String Solvers
Open Access
- 6 August 2022
- book chapter
- Published by Springer Nature
- p. 205-226
Abstract
In the past decade, satisfiability modulo theories (SMT) solvers have been extended to support the theory of strings and regular expressions. This theory has proven to be useful in a wide range of applications in academia and industry. To accommodate the expressive nature of string constraints used in those applications, string solvers use a multi-layered architecture where extended operators are reduced to a set of core operators. These reductions, however, are often costly to reason about. In this work, we propose new techniques for eagerly discovering conflicts based on equality reasoning and lazily avoiding reductions for certain extended functions based on lightweight reasoning. We present a strategy for integrating and scheduling these techniques in a CDCL $$(T)$$ -based theory solver for strings and regular expressions. We implement the techniques and the strategy in cvc5, a state-of-the-art SMT solver, and show that they lead to a significant performance improvement."Image missing""Image missing"
Keywords
This publication has 29 references indexed in Scilit:
- PASS: String Solving with Parameterized Array and Interval Automaton2013
- HAMPIACM Transactions on Software Engineering and Methodology, 2012
- An Evaluation of Automata Algorithms for String Analysis2011
- Symbolic Automata Constraint Solving2010
- Qex: Symbolic SQL Query Explorer2010
- Path Feasibility Analysis for String-Manipulating ProgramsLecture Notes in Computer Science, 2009
- Z3: An Efficient SMT Solver2008
- Solving SAT and SAT Modulo TheoriesJournal of the ACM, 2006
- Proof-Producing Congruence Closure2005
- Fast Decision Procedures Based on Congruence ClosureJournal of the ACM, 1980