DocumentCode
1290051
Title
Fault Localization for Dynamic Web Applications
Author
Artzi, Shay ; Dolby, Julian ; Tip, Frank ; Pistoia, Marco
Author_Institution
IBM Software Group, Littleton, MA, USA
Volume
38
Issue
2
fYear
2012
Firstpage
314
Lastpage
335
Abstract
In recent years, there has been significant interest in fault-localization techniques that are based on statistical analysis of program constructs executed by passing and failing executions. This paper shows how the Tarantula, Ochiai, and Jaccard fault-localization algorithms can be enhanced to localize faults effectively in web applications written in PHP by using an extended domain for conditional and function-call statements and by using a source mapping. We also propose several novel test-generation strategies that are geared toward producing test suites that have maximal fault-localization effectiveness. We implemented various fault-localization techniques and test-generation strategies in Apollo, and evaluated them on several open-source PHP applications. Our results indicate that a variant of the Ochiai algorithm that includes all our enhancements localizes 87.8 percent of all faults to within 1 percent of all executed statements, compared to only 37.4 percent for the unenhanced Ochiai algorithm. We also found that all the test-generation strategies that we considered are capable of generating test suites with maximal fault-localization effectiveness when given an infinite time budget for test generation. However, on average, a directed strategy based on path-constraint similarity achieves this maximal effectiveness after generating only 6.5 tests, compared to 46.8 tests for an undirected test-generation strategy.
Keywords
program testing; software fault tolerance; statistical analysis; Apollo; Jaccard; Ochiai; Tarantula; dynamic Web applications; fault localization; fault localization effectiveness; open-source PHP applications; path constraint; source mapping; statistical analysis; test generation strategies; Algorithm design and analysis; Browsers; Concrete; Databases; HTML; Open source software; Servers; Fault localization; PHP.; program analysis; statistical debugging; web applications;
fLanguage
English
Journal_Title
Software Engineering, IEEE Transactions on
Publisher
ieee
ISSN
0098-5589
Type
jour
DOI
10.1109/TSE.2011.76
Filename
5975173
Link To Document