Dashed strings for string constraint solving

作者:

摘要

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.

论文关键词:Artificial intelligence,Constraint programming,String solving

论文评审过程:Received 11 October 2019, Accepted 11 August 2020, Available online 5 September 2020, Version of Record 9 September 2020.

论文官网地址:https://doi.org/10.1016/j.artint.2020.103368