Solving String Constraints: The Case for Constraint Programming

  title={Solving String Constraints: The Case for Constraint Programming},
  author={Jun He and Pierre Flener and Justin Pearson and Wei Zhang},
We improve an existing propagator for the context-free grammar constraint and demonstrate experimentally the practicality of the resulting propagator. The underlying technique could be applied to other existing propagators for this constraint. We argue that constraint programming solvers are more suitable than existing solvers for verification tools that have to solve string constraints, as they have a rich tradition of constraints for membership in formal languages. 
Bounded Strings for Constraint Programming
We present a domain for string decision variables of bounded length, combining features from fixed-length and unbounded-length string solvers to reason on an interval defined by languages of prefixes
Constraint Solving on Bounded String Variables
A set of constraints sufficient to model many standard benchmark problems from these fields, including test case generation, program analysis, model checking, and web security, are described.
A Novel Approach to String Constraint Solving
A novel approach that decouples the size of the string representation from its maximum length is introduced, and is implemented in G-Strings, a new string solver built on top of Gecode solver that already shows some promising results.
Progressive Reasoning over Recursively-Defined Strings
A progressive search algorithm to not only mitigate the problem of non-terminating reasoning but also guide the search towards a “minimal solution” when the input formula is in fact satisfiable.
MiniZinc with Strings
An interpreter for converting a MiniZinc model with strings into a FlatZinc instance relying only on integer variables is defined, which provides a user-friendly interface for modelling combinatorial problems with strings, and enables both string and non-string solvers to actually solve such problems.
Other things besides number: Abstraction, constraint propagation, and string variable types
A theoretical framework is developed from the correspondence between Galois connections and propagators, unifying two disparate views of the abstraction-propagation connection, namely the oft-overlooked distinction between representational and computational over-approximations.
A Survey on String Constraint Solving
  • R. Amadini
  • Computer Science
    ACM Computing Surveys
  • 2020
A comprehensive survey on string constraint solving is reported by exploring the large number of approaches that have been proposed over the past few decades to solve string constraints.
Inter-theory dependency analysis for SMT string solvers
This paper proposes a form of dependency analysis for a rich fragment of string constraints including high-level operations such as length, and implements its dependency analysis in the string theory of the Z3 solver to obtain a new one, called S3N.
Design and Implementation of Bounded-Length Sequence Variables
The design and implementation of bounded length sequence variables for a CP solver are presented and it is shown that the resulting implementation outperforms traditional bounded-length string representations for CP solvers, which use a fixed-length array of candidate characters and a padding symbol.
A Decision Procedure for String Logic with Equations, Regular Membership and Length Constraints
A semi-decision procedure for arbitrary string formulae with word equations, regular membership and length functions with Presburger constraints over length functions is proposed and it is shown that the algorithm always terminates for the aforementioned decidable fragment.


Global Grammar Constraints
This paper considers how to propagate grammar constraints and a number of extensions to specify global constraints via grammars or automata and to propagate this constraint specification efficiently and effectively.
Grammar constraints
A time- and space-efficient incremental arc-consistency algorithm for context-free grammars, investigate when logic combinations of grammar constraints are tractable, and show how to exploit non-constant size Grammars and reorderings of languages.
Analyzing Context-Free Grammars Using an Incremental SAT Solver
B bounded versions of undecidable problems about context-free languages which restrict the domain of words to some finite length are considered and fully utilizing the power of incrementat SAT solvers prove correctness and validate this approach with benchmarks.
The Theory of Grammar Constraints
An arc-consistency algorithm for context-free grammars, an investigation of when logic combinations of grammar constraints are tractable, and when the boundaries run between regular, context- free, and context-sensitive grammar filtering are studied.
Decomposing Global Grammar Constraints
Based on an AND/OR decomposition, it is shown that the GRAMMAR constraint can be converted into clauses in conjunctive normal form without hindering propagation and used as an efficient incremental propagator.
HAMPI: a solver for string constraints
Hampi, a solver for string constraints over fixed-size string variables that is expressive and efficient, and can be successfully applied to testing and analysis of real programs.
Reformulating Global Grammar Constraints
It is shown that minimizing such automata after they have been unfolded and domains initially reduced can give automata that are more compact than minimizing before unfolding and reducing.
Deriving Filtering Algorithms from Constraint Checkers
For a restricted class of automata this article provides a filtering algorithm for the relaxed case, where the violation cost is the minimum number of variables to unassign in order to get back to a solution.
A Regular Language Membership Constraint for Finite Sequences of Variables
A filtering algorithm is described and analyzed achieving generalized arc consistency for this constraint requiring that the corresponding sequence of values taken by these variables belong to a given regular language, thereby generalizing some other known global constraints.
Constraints for membership in formal languages under systematic search and stochastic local search
  • Jun He
  • Computer Science
  • 2015
This thesis focuses on constraints for membership in formal languages under both the systematic search and stochastic local search approaches to constraint programming (CP). Such constraints are ve