Fault Localization for Dynamic Web Applications

被引:26
作者
Artzi, Shay [1 ]
Dolby, Julian [2 ]
Tip, Frank [2 ]
Pistoia, Marco [2 ]
机构
[1] IBM Software Grp, Littleton, MA 01460 USA
[2] IBM Thomas J Watson Res Ctr, Yorktown Hts, NY 10598 USA
关键词
Fault localization; statistical debugging; program analysis; web applications; PHP;
D O I
10.1109/TSE.2011.76
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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.
引用
收藏
页码:314 / 335
页数:22
相关论文
共 49 条
[1]   On the accuracy of spectrum-based fault localization [J].
Abreu, Rui ;
Zoeteweij, Peter ;
van Gemund, Arjan J. C. .
TAIC PART 2007 - TESTING: ACADEMIC AND INDUSTRIAL CONFERENCE - PRACTICE AND RESEARCH TECHNIQUES, PROCEEDINGS: CO-LOCATED WITH MUTATION 2007, 2007, :89-+
[2]  
Abreu R, 2006, 12TH PACIFIC RIM INTERNATIONAL SYMPOSIUM ON DEPENDABLE COMPUTING, PROCEEDINGS, P39
[3]  
Agrawal H, 1995, SIXTH INTERNATIONAL SYMPOSIUM ON SOFTWARE RELIABILITY ENGINEERING, PROCEEDINGS, P143, DOI 10.1109/ISSRE.1995.497652
[4]  
[Anonymous], 2010, ISSTA, DOI [10.1145/1831708.1831715, DOI 10.1145/1831708.1831715]
[5]  
[Anonymous], 2010, ICSE
[6]  
[Anonymous], P S NETW DISTR SYST
[7]  
Artzi S., 2011, P INT C SOFTW ENG
[8]   Finding Bugs in Web Applications Using Dynamic Test Generation and Explicit-State Model Checking [J].
Artzi, Shay ;
Kiezun, Adam ;
Dolby, Julian ;
Tip, Frank ;
Dig, Danny ;
Paradkar, Amit ;
Ernst, Michael D. .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2010, 36 (04) :474-494
[9]  
Artzi Shay., 2010, P 32 ACMIEEE INT C S, P265, DOI 10.1145/1806799
[10]  
Artzi Shay., 2008, P 2008 INT S SOFTWAR, P261, DOI DOI 10.1145/1390630.1390662