🤖 AI Summary
This paper resolves the long-standing open problem of decidability for the *notContains* predicate—i.e., whether a concatenation $y_1 cdots y_m$ is not a substring of $x_1 cdots x_n$—under regular constraints on string variables $x_1,ldots,x_n$ and $y_1,ldots,y_m$. Using automata-theoretic constructions and reasoning about word equations, the authors establish the first decidability result for *notContains* in the presence of regular membership constraints. They further extend this result to combined systems involving chain-free word equations and regular constraints. This work fills a fundamental gap in the theoretical foundations of string logic and provides new decidability guarantees and algorithmic foundations for precise string analysis in symbolic execution.
📝 Abstract
We provide a positive answer to a long-standing open question of the decidability of the not-contains string predicate. Not-contains is practically relevant, for instance in symbolic execution of string manipulating programs. Particularly, we show that the predicate notContains(x1 ... xn, y1 ... ym), where x1 ... xn and y1 ... ym are sequences of string variables constrained by regular languages, is decidable. Decidability of a not-contains predicate combined with chain-free word equations and regular membership constraints follows.