ACM Home Page
Please provide us with feedback. Feedback
Finding bugs in dynamic web applications
Full text PdfPdf (391 KB)
Source
International Symposium on Software Testing and Analysis archive
Proceedings of the 2008 international symposium on Software testing and analysis table of contents
Seattle, WA, USA
SESSION: Web and security table of contents
Pages 261-272  
Year of Publication: 2008
ISBN:978-1-60558-050-0
Authors
Shay Artzi  MIT, Cambridge, MA, USA
Adam Kiezun  MIT, Cambridge, MA, USA
Julian Dolby  IBM, Yorktown Heights, NY, USA
Frank Tip  IBM, Yorktown Heights, NY, USA
Danny Dig  MIT, Cambridge, MA, USA
Amit Paradkar  IBM, Yorktown Heights, NY, USA
Michael D. Ernst  MIT, Cambridge, MA, USA
Sponsors
ACM: Association for Computing Machinery
SIGSOFT: ACM Special Interest Group on Software Engineering
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 44,   Downloads (12 Months): 453,   Citation Count: 5
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1390630.1390662
What is a DOI?

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.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
S. Anand, P. Godefroid, and N. Tillmann. Demand-driven compositional symbolic execution. In TACAS, 2008.
 
2
M. Benedikt, J. Freire, and P. Godefroid. VeriWeb: Automatically testing dynamic Web sites. In WWW, 2002.
3
 
4
C. Cadar and D. R. Engler. Execution generated test cases: How to make systems code crash itself. In SPIN, 2005.
 
5
C. Cadar and D. R. Engler. Execution generated test cases: How to make systems code crash itself. In SPIN, 2005.
6
7
 
8
 
9
S. Elbaum, K.-R. Chilakamarri, M. Fisher, and G. Rothermel. Web application characterization through directed requests. In WODA, 2006.
 
10
11
 
12
M. Fisher, S. G. Elbaum, and G. Rothermel. Dynamic characterization of Web application interfaces. In FASE, 2007.
13
14
15
 
16
P. Godefroid, M. Y. Levin, and D. Molnar. Automated whitebox fuzz testing. In NDSS, 2008.
17
18
19
 
20
 
21
22
23
24
 
25
R. O'Callahan. Personal communication, 2008.
 
26
T. Pietraszek and C. V. Berghe. Defending against injection attacks through context-sensitive string evaluation. In RAID, 2005.
 
27
28
29
30
31
32
 
33
34


Collaborative Colleagues:
Shay Artzi: colleagues
Adam Kiezun: colleagues
Julian Dolby: colleagues
Frank Tip: colleagues
Danny Dig: colleagues
Amit Paradkar: colleagues
Michael D. Ernst: colleagues