Dashed strings for string constraint solving

Roberto Amadini, Graeme Gange, Peter J. Stuckey

Research output: Contribution to journalArticleResearchpeer-review

Abstract

String processing is ubiquitous across computer science, and arguably more so in web programming — where it is also a critical part of security issues such as injection attacks. In recent years, a number of string solvers have been developed to solve combinatorial problems involving string variables and constraints. We examine the dashed string approach to string constraint solving, which represents an unknown string as a sequence of blocks of characters with bounds on their cardinalities. The solving approach relies on propagation of information about the blocks of characters that arise from reasoning about the constraints in which they occur. This approach shows promising performance on many benchmarks involving constraints like string length, equality, concatenation, and regular expression membership. In this paper, we formally review the definition, the properties and the use of dashed strings for string constraint solving, and we provide an empirical validation that confirms the effectiveness of this approach.

Original languageEnglish
Article number103368
Number of pages31
JournalArtificial Intelligence
Volume289
DOIs
Publication statusPublished - Dec 2020

Keywords

  • Artificial intelligence
  • Constraint programming
  • String solving

Cite this