Litcius/Paper detail

Solving String Constraints with Lengths by Stabilization

Yu‐Fang Chen, David Chocholatý, Vojtěch Havlena, Lukáš Holík, Ondřej Lengál, Juraj Síč

2023Proceedings of the ACM on Programming Languages16 citationsDOIOpen Access PDF

Abstract

We present a new algorithm for solving string constraints. The algorithm builds upon a recent method for solving word equations and regular constraints that interprets string variables as languages rather than strings and, consequently, mitigates the combinatorial explosion that plagues other approaches. We extend the approach to handle linear integer arithmetic length constraints by combination with a known principle of equation alignment and splitting, and by extension to other common types of string constraints, yielding a fully-fledged string solver. The ability of the framework to handle unrestricted disequalities even extends one of the largest decidable classes of string constraints, the chain-free fragment. We integrate our algorithm into a DPLL-based SMT solver. The performance of our implementation is competitive and even significantly better than state-of-the-art string solvers on several established benchmarks obtained from applications in verification of string programs.

Topics & Concepts

String (physics)DecidabilityDPLL algorithmSolverExtension (predicate logic)Computer scienceString searching algorithmWord (group theory)Integer (computer science)AlgorithmTheoretical computer scienceMathematicsData structureProgramming languageGeometryPhase-locked loopMathematical physicsJitterTelecommunicationsWeb Application Security VulnerabilitiesSoftware Testing and Debugging TechniquesNatural Language Processing Techniques
Solving String Constraints with Lengths by Stabilization | Litcius