Advanced Search

Finding Bugs in Web Applications Using Dynamic Test Generation and Explicit State Model Checking

Research and Teaching Output of the MIT Community

Show simple item record

dc.contributor.advisor Michael Ernst Tip, Frank en_US Ernst, Michael D. en_US Dig, Danny en_US Dolby, Julian en_US Kiezun, Adam en_US Artzi, Shay en_US Paradkar, Amit en_US
dc.contributor.other Program Analysis en_US 2009-03-27T16:00:07Z 2009-03-27T16:00:07Z 2009-03-26
dc.description.abstract Web script crashes and malformed dynamically-generated web pages are common errors, and they seriously impact the usability of web applications. Current tools for web-page validation cannot handle the dynamically generated pages that are ubiquitous on today's Internet. We present a dynamic test generation technique for the domain of dynamic web applications. The technique utilizes both combined concrete and symbolic execution and explicit-state model checking. The technique generates tests automatically, runs the tests capturing logical constraints on inputs, and minimizes the conditions on the inputs to failing tests, so that the resulting bug reports are small and useful in finding and fixing the underlying faults. Our tool Apollo implements the technique for the PHP programming language. Apollo generates test inputs for a web application, monitors the application for crashes, and validates that the output conforms to the HTML specification. This paper presents Apollo's algorithms and implementation, and an experimental evaluation that revealed 302 faults in 6 PHP web applications. en_US
dc.format.extent 17 p. en_US
dc.relation.ispartofseries MIT-CSAIL-TR-2009-010 en_US
dc.subject Software Testing en_US
dc.subject PHP en_US
dc.subject Dynamic Analysis en_US
dc.title Finding Bugs in Web Applications Using Dynamic Test Generation and Explicit State Model Checking en_US

Files in this item

Name Size Format Description
MIT-CSAIL-TR-2009 ... 921.2Kb PDF
MIT-CSAIL-TR-2009 ... 3.324Mb Postscript

This item appears in the following Collection(s)

Show simple item record