Litcius/Paper detail

Solving String Constraints Using SAT

Kevin Lotz, Amit Kumar Goel, Bruno Dutertre, Benjamin Kiesl, Soonho Kong, Rupak Majumdar, Dirk Nowotka

2023Lecture notes in computer science10 citationsDOIOpen Access PDF

Abstract

Abstract String solvers are automated-reasoning tools that can solve combinatorial problems over formal languages. They typically operate on restricted first-order logic formulas that include operations such as string concatenation, substring relationship, and regular expression matching. String solving thus amounts to deciding the satisfiability of such formulas. While there exists a variety of different string solvers, many string problems cannot be solved efficiently by any of them. We present a new approach to string solving that encodes input problems into propositional logic and leverages incremental SAT solving. We evaluate our approach on a broad set of benchmarks. On the logical fragment that our tool supports, it is competitive with state-of-the-art solvers. Our experiments also demonstrate that an eager SAT-based approach complements existing approaches to string solving in this specific fragment.

Topics & Concepts

String (physics)Computer scienceSubstringConcatenation (mathematics)SatisfiabilityString searching algorithmTheoretical computer scienceFragment (logic)Regular expressionSet (abstract data type)String metricAlgorithmProgramming languagePattern matchingMathematicsCombinatoricsMathematical physicsWeb Application Security VulnerabilitiesSoftware Testing and Debugging TechniquesSoftware Engineering Research