Sciweavers

PLDI
2009
ACM

A decision procedure for subset constraints over regular languages

15 years 4 days ago
A decision procedure for subset constraints over regular languages
Reasoning about string variables, in particular program inputs, is an important aspect of many program analyses and testing frameworks. Program inputs invariably arrive as strings, and are often manipulated using high-level string operations such as equality checks, regular expression matching, and string concatenation. It is difficult to reason about these operations because they are not well-integrated into current constraint solvers. We present a decision procedure that solves systems of equations over regular language variables. Given such a system of constraints, our algorithm finds satisfying assignments for the variables in the system. We define this problem formally and render a mechanized correctness proof of the core of the algorithm. We evaluate its scalability and practical utility by applying it to the problem of automatically finding inputs that cause SQL injection vulnerabilities. Categories and Subject Descriptors D.2.4 [Software Engineering]: Software/Program Verifica...
Pieter Hooimeijer, Westley Weimer
Added 22 Nov 2009
Updated 22 Nov 2009
Type Conference
Year 2009
Where PLDI
Authors Pieter Hooimeijer, Westley Weimer
Comments (0)