Practical fault localization for dynamic web applications

Shay Artzi, Julian Dolby, Frank Tip, Marco Pistoia
2010 Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - ICSE '10  
We leverage combined concrete and symbolic execution and several fault-localization techniques to create a uniquely powerful tool for localizing faults in PHP applications. The tool automatically generates tests that expose failures, and then automatically localizes the faults responsible for those failures, thus overcoming the limitation of previous fault-localization techniques that a test suite be available upfront. The fault-localization techniques we employ combine variations on the
more » ... tions on the Tarantula algorithm with a technique based on maintaining a mapping between statements and the fragments of output they produce. We implemented these techniques in a tool called Apollo, and evaluated them by localizing 75 randomly selected faults that were exposed by automatically generated tests in four PHP applications. Our findings indicate that, using our best technique, 87.7% of the faults under consideration are localized to within 1% of all executed statements, which constitutes an almost five-fold improvement over the Tarantula algorithm.
doi:10.1145/1806799.1806840 dblp:conf/icse/ArtziDTP10 fatcat:rjms26jq5rbyvot6nexodhjhqa