Finding bugs in dynamic web applications

Download: PDF, PostScript.

“Finding bugs in dynamic web applications” by Shay Artzi, Adam Kieżun, Julian Dolby, Frank Tip, Danny Dig, Amit Paradkar, and Michael D. Ernst. In ISSTA 2008, Proceedings of the 2008 International Symposium on Software Testing and Analysis, (Seattle, WA, USA), July 22-24, 2008, pp. 261-272.
A previous version appeared as IBM T.J. Watson Research Center technical report RC24528, (Hawthorne, NY), April 2, 2008.
A previous version appeared as MIT Computer Science and Artificial Intelligence Laboratory technical report MIT-CSAIL-TR-2008-006, (Cambridge, MA), February 6, 2008.

Abstract

Web script crashes and malformed dynamically-generated Web pages are common errors, and they seriously impact usability of Web applications. Current tools for Web-page validation cannot handle the dynamically-generated pages that are ubiquitous on today's Internet. In this work, we apply a dynamic test generation technique, based on combined concrete and symbolic execution, to the domain of dynamic Web applications. The technique generates tests automatically, uses the tests to detect failures, and minimizes the conditions on the inputs exposing each failure, so that the resulting bug reports are small and useful in finding and fixing the underlying faults. Our tool Apollo implements the technique for PHP. Apollo generates test inputs for the 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 214 faults in 4 PHP Web applications.

Download: PDF, PostScript.

BibTeX entry:

@inproceedings{ArtziKDTDPE2008,
   author = {Shay Artzi and Adam Kie{\.z}un and Julian Dolby and Frank Tip
	and Danny Dig and Amit Paradkar and Michael D. Ernst},
   title = {Finding bugs in dynamic web applications},
   booktitle = {ISSTA 2008, Proceedings of the 2008 International
	Symposium on Software Testing and Analysis},
   pages = {261--272},
   address = {Seattle, WA, USA},
   month = {July~22--24,},
   year = {2008}
}

(This webpage was created with bibtex2web.)

Back to Program Analysis Group publications.