English

Decision Procedure for A Theory of String Sequences

Programming Languages 2025-09-09 v2 Formal Languages and Automata Theory

Abstract

The theory of sequences, supported by many SMT solvers, can model program data types including bounded arrays and lists. Sequences are parameterized by the element data type and provide operations such as accessing elements, concatenation, forming sub-sequences and updating elements. Strings and sequences are intimately related; many operations, e.g., matching a string according to a regular expression, splitting strings, or joining strings in a sequence, are frequently used in string-manipulating programs. Nevertheless, these operations are typically not directly supported by existing SMT solvers, which instead only consider the generic theory of sequences. In this paper, we propose a theory of string sequences and study its satisfiability. We show that, while it is undecidable in general, the decidability can be recovered by restricting to the straight-line fragment. This is shown by encoding each string sequence as a string, and each string sequence operation as a corresponding string operation. We provide pre-image computation for the resulting string operations with respect to automata, effectively casting it into the generic OSTRICH string constraint solving framework. We implement the new decision procedure as a tool \ostrichseq\ostrichseq, and carry out experiments on benchmark constraints generated from real-world JavaScript programs, hand-crafted templates and unit tests. The experiments confirm the efficacy of our approach.

Keywords

Cite

@article{arxiv.2509.00948,
  title  = {Decision Procedure for A Theory of String Sequences},
  author = {Denghang Hu and Taolue Chen and Philipp Rümmer and Fu Song and Zhilin Wu},
  journal= {arXiv preprint arXiv:2509.00948},
  year   = {2025}
}

Comments

21 pages, 2 tables, APLAS 2025

R2 v1 2026-07-01T05:14:17.975Z