Result Details

Solving String Constraints with Lengths by Stabilization

CHEN, Y.; CHOCHOLATÝ, D.; HAVLENA, V.; HOLÍK, L.; LENGÁL, O.; SÍČ, J. Solving String Constraints with Lengths by Stabilization. Proceedings of the ACM on Programming Languages-PACMPL, 2023, vol. 7, no. 10, p. 2112-2141. ISSN: 2475-1421.
Type
journal article
Language
English
Authors
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.

Keywords

string constraints
SMT solver
stabilization
satisfiability

URL
Published
2023
Pages
2112–2141
Journal
Proceedings of the ACM on Programming Languages-PACMPL, vol. 7, no. 10, ISSN 2475-1421
DOI
UT WoS
001087279100076
EID Scopus
BibTeX
@article{BUT185210,
  author="Yu-Fang {Chen} and David {Chocholatý} and Vojtěch {Havlena} and Lukáš {Holík} and Ondřej {Lengál} and Juraj {Síč}",
  title="Solving String Constraints with Lengths by Stabilization",
  journal="Proceedings of the ACM on Programming Languages-PACMPL",
  year="2023",
  volume="7",
  number="10",
  pages="2112--2141",
  doi="10.1145/3622872",
  url="http://dx.doi.org/10.1145/3622872"
}
Projects
Efficient Finite Automata for Automated Reasoning, MŠMT, ERC CZ, LL1908, start: 2020-01-01, end: 2024-12-31, completed
Reliable, Secure, and Intelligent Computer Systems, BUT, Vnitřní projekty VUT, FIT-S-23-8151, start: 2023-03-01, end: 2026-02-28, running
Representing Boolean Functions by a Self-Adaptable Data Structure, GACR, Standardní projekty, GA23-07565S, start: 2023-01-01, end: 2025-12-31, running
Research groups
Departments
Back to top