OSTRICH2: Solver for Complex String Constraints

📅 2025-06-17
📈 Citations: 0
Influential: 0
📄 PDF
🤖 AI Summary
This work addresses key challenges in solving complex string constraints—namely, inadequate Unicode support, incomplete coverage of regular expression semantics (e.g., lookarounds and capturing groups), and lack of user-defined string transformations. We propose the first SMT-based solving framework supporting full ECMAScript regex semantics, complete Unicode string semantics, and programmable string transformers. Methodologically, we establish the first completeness guarantees for two critical string constraint fragments: straight-line and chain-free constraints. We extend the SMT-LIB string theory by integrating regex semantic parsing, symbolic execution, and an automated completeness-checking algorithm. Experimental evaluation on the SMT-COMP benchmarks shows competitive performance against state-of-the-art solvers, while significantly improving solving coverage and reliability for highly expressive string logics.

Technology Category

Application Category

📝 Abstract
We present OSTRICH2, the latest evolution of the SMT solver OSTRICH for string constraints. OSTRICH2 supports a wide range of complex functions on strings and provides completeness guarantees for a substantial fragment of string constraints, including the straight-line fragment and the chain-free fragment. OSTRICH2 provides full support for the SMT-LIB theory of Unicode strings, extending the standard with several unique features not found in other solvers: among others, parsing of ECMAScript regular expressions (including look-around assertions and capture groups) and handling of user-defined string transducers. We empirically demonstrate that OSTRICH2 is competitive to other string solvers on SMT-COMP benchmarks.
Problem

Research questions and friction points this paper is trying to address.

Solves complex string constraints in SMT-LIB theory
Supports Unicode strings with unique features
Handles ECMAScript regex and user-defined transducers
Innovation

Methods, ideas, or system contributions that make the work stand out.

Supports complex Unicode string functions
Handles ECMAScript regex with look-around
Processes user-defined string transducers
Matthew Hague
Matthew Hague
Royal Holloway, University of London
AutomataLogicVerification
D
Denghang Hu
Key Laboratory of System Software, Institute of Software, Chinese Academy of Sciences
A
Artur Je.z
Institute of Computer Science, University of Wroc law
A
Anthony W. Lin
University of Kaiserslautern-Landau and Max-Planck Institute for Software Systems
O
Oliver Markgraf
University of Kaiserslautern-Landau
P
Philipp Rummer
University of Regensburg and Uppsala University
Zhilin Wu
Zhilin Wu
State Key Laboratory of Computer Science
Computational LogicProgram Analysis and VerificationAutomata Theory