TY - JOUR
T1 - Dashed strings for string constraint solving
AU - Amadini, Roberto
AU - Gange, Graeme
AU - Stuckey, Peter J.
PY - 2020/12
Y1 - 2020/12
N2 - 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.
AB - 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.
KW - Artificial intelligence
KW - Constraint programming
KW - String solving
UR - http://www.scopus.com/inward/record.url?scp=85090321988&partnerID=8YFLogxK
U2 - 10.1016/j.artint.2020.103368
DO - 10.1016/j.artint.2020.103368
M3 - Article
AN - SCOPUS:85090321988
SN - 0004-3702
VL - 289
JO - Artificial Intelligence
JF - Artificial Intelligence
M1 - 103368
ER -