Advanced Search
DSpace@MIT

HAMPI: A Solver for String Constraints

Research and Teaching Output of the MIT Community

Show simple item record

dc.contributor.advisor Michael Ernst
dc.contributor.author Ernst, Michael D. en_US
dc.contributor.author Kiezun, Adam en_US
dc.contributor.author Ganesh, Vijay en_US
dc.contributor.author Guo, Philip J. en_US
dc.contributor.author Hooimeijer, Pieter en_US
dc.contributor.other Program Analysis en_US
dc.date.accessioned 2009-02-04T19:00:04Z
dc.date.available 2009-02-04T19:00:04Z
dc.date.issued 2009-02-04
dc.identifier.uri http://hdl.handle.net/1721.1/44584
dc.description.abstract Many automatic testing, analysis, and verification techniques for programs can be effectively reduced to a constraint-generation phase followed by a constraint-solving phase. This separation of concerns often leads to more effective and maintainable tools. The increasing efficiency of off-the-shelf constraint solvers makes this approach even more compelling. However, there are few, if any, effective and sufficiently expressive off-the-shelf solvers for string constraints generated by analysis techniques for string-manipulating programs. We designed and implemented Hampi, a solver for string constraints over bounded string variables. Hampi constraints express membership in regular languages and bounded context-free languages. Hampi constraints may contain context-free-language definitions, regular-language definitions and operations, and the membership predicate. Given a set of constraints, Hampi outputs a string that satisfies all the constraints, or reports that the constraints are unsatisfiable. Hampi is expressive and efficient, and can be successfully applied to testing and analysis of real programs. Our experiments use Hampi in: static and dynamic analyses for finding SQL injection vulnerabilities in Web applications; automated bug finding in C programs using systematic testing; and compare Hampi with another string solver. Hampi's source code, documentation, and the experimental data are available at http://people.csail.mit.edu/akiezun/hampi. en_US
dc.format.extent 11 p. en_US
dc.relation.ispartofseries MIT-CSAIL-TR-2009-004
dc.relation.uri http://people.csail.mit.edu/akiezun/hampi
dc.subject Constraint solvers en_US
dc.subject Automated testing en_US
dc.title HAMPI: A Solver for String Constraints en_US


Files in this item

Name Size Format Description
MIT-CSAIL-TR-2009 ... 298.2Kb PDF
MIT-CSAIL-TR-2009 ... 1.194Mb Postscript

This item appears in the following Collection(s)

Show simple item record

MIT-Mirage