Title
StrSolve: solving string constraints lazily.
Abstract
Reasoning about strings is becoming a key step at the heart of many program analysis and testing frameworks. Stand-alone string constraint solving tools, called decision procedures, have been the focus of recent research in this area. The aim of this work is to provide algorithms and implementations that can be used by a variety of program analyses through a well-defined interface. This separation enables independent improvement of string constraint solving algorithms and reduces client effort. We present StrSolve, a decision procedure that reasons about equations over string variables. Our approach scales well with respect to the size of the input constraints, especially compared to other contemporary techniques. Our approach performs an explicit search for a satisfying assignment, but constructs the search space lazily based on an automata representation. We empirically evaluate our approach by comparing it with four existing string decision procedures on a number of tasks. We find that our prototype is, on average, several orders of magnitude faster than the fastest existing approaches, and present evidence that our lazy search space enumeration accounts for most of that benefit.
Year
DOI
Venue
2012
10.1007/s10515-012-0111-x
AUTOMATED SOFTWARE ENGINEERING
Keywords
Field
DocType
String,Regular language,Decision procedure,Scalability
Computer science,Theoretical computer science,Implementation,Program analysis,Regular language,Scalability
Journal
Volume
Issue
ISSN
19.0
SP4
0928-8910
Citations 
PageRank 
References 
15
0.64
41
Authors
2
Name
Order
Citations
PageRank
Pieter Hooimeijer159826.19
Westley Weimer23510162.27