A Uniform Framework for Handling Position Constraints in String Solving
Yu-Fang Chen, Vojtech Havlena, Michal Hecko, Lukás Holík, Ondrej Lengál
Abstract
We introduce a novel decision procedure for solving the class of position string constraints , which includes string disequalities, ¬prefixof, ¬sujfixof, str.at , and ¬str.at. These constraints are generated frequently in almost any application of string constraint solving. Our procedure avoids expensive encoding of the constraints to word equations and, instead, reduces the problem to checking conflicts on positions satisfying an integer constraint obtained from the Parikh image of a polynomial-sized finite automaton with a special structure. By the reduction to counting, solving position constraints becomes NP-complete and for some cases even falls into PT IME . This is much cheaper than the previously used techniques, which either used reductions generating word equations and length constraints (for which modern string solvers use exponential-space algorithms) or incomplete techniques. Our method is relevant especially for automata-based string solvers, which have recently achieved the best results in terms of practical efficiency, generality, and completeness guarantees. This work allows them to excel also on position constraints, which used to be their weakness. Besides the efficiency gains, we show that our framework may be extended to solve a large fragment of ¬contains (in NE XP T IME ), for which decidability has been long open, and gives a hope to solve the general problem. Our implementation of the technique within the Z3-N OODLER solver significantly improves its performance on position constraints.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext a0bee51a-c2fc-4a40-a56a-5d45ce87fa87Cited by top-tier papers1
Ask how each one uses itBuilds on7
- Solving string constraints with Regex-dependent functions through transducers with priorities and variablesTaolue Chen, Alejandro Flores-Lamas, Matthew Hague, Zhilei Han et al.POPL 2022 · 39 citations
- Symbolic Boolean derivatives for efficiently solving extended regular expression constraintsCaleb Stanford, Margus Veanes, Nikolaj S. BjørnerPLDI 2021 · 38 citations
- An SMT Solver for Regular Expressions and Linear Arithmetic over String LengthMurphy Berzish, Mitja Kulczynski, Federico Mora, Florin Manea et al.CAV 2021 · 37 citations
- Z3str4: A Multi-armed String SolverFederico Mora, Murphy Berzish, Mitja Kulczynski, Dirk Nowotka et al.FM 2021 · 30 citations
- Solving String Constraints with Lengths by StabilizationYu-Fang Chen, David Chocholatý, Vojtech Havlena, Lukás Holík et al.OOPSLA 2023 · 18 citations
Related papers
- A Constraint Solving Approach to Parikh Images of Regular LanguagesAmanda Stjerna, Philipp RümmerOOPSLA 2024 · 2 citations
- String Solving with Stabilization and TransducersDavid Chocholatý, Vojtech Havlena, Lukás Holík, Juraj Síc et al.CAV 2026
- Inter-theory dependency analysis for SMT string solversMinh-Thai Trinh, Duc-Hiep Chu, Joxan JaffarOOPSLA 2020 · 5 citations
- Parikh's Theorem Made SymbolicMatthew Hague, Artur Jez, Anthony W. LinPOPL 2024 · 3 citations
- Slice closures of indexed languages and word equations with counting constraintsLaura Ciobanu, Georg ZetzscheLICS 2024 · 2 citations
