Using machine learning to support debugging with Tarantula

被引:59
作者
Briand, Lionel C. [1 ]
Labiche, Yvan [2 ]
Liu, Xuetao [2 ]
机构
[1] Univ Oslo, Simula Res Lab, POB 134, Lysaker, Norway
[2] Carleton Univ, Software Qual Engn Lab, Ottawa, ON K1S 5B6, Canada
来源
ISSRE 2007: 18TH IEEE INTERNATIONAL SYMPOSIUM ON SOFTWARE RELIABILITY ENGINEERING, PROCEEDINGS | 2007年
基金
加拿大自然科学与工程研究理事会;
关键词
D O I
10.1109/ISSRE.2007.31
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Using a specific machine learning technique, this paper proposes a way to identify suspicious statements during debugging. The technique is based on principles similar to Tarantula but addresses its main flaw: its difficulty to deal with the presence of multiple faults as it assumes that failing test cases execute the same fault(s). The improvement we present in this paper results from the use of C4.5 decision trees to identify various failure conditions based on information regarding the test cases' inputs and outputs. Failing test cases executing under similar conditions are then assumed to fail due to the same fault(s). Statements are then considered suspicious if they are covered by a large proportion of failing test cases that execute under similar conditions. We report on a case study that demonstrates improvement over the original Tarantula technique in terms of statement ranking. Another contribution of this paper is to show that failure conditions as modeled by a C4.5 decision tree accurate v predict failures and can therefore be used as well to help debugging.
引用
收藏
页码:137 / +
页数:2
相关论文
共 26 条
[1]  
BOWRING JF, 2004, P INT S SOFTW TEST A, P195
[2]   Finding latent code errors via machine learning over program executions [J].
Brun, Y ;
Ernst, MD .
ICSE 2004: 26TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, PROCEEDINGS, 2004, :480-490
[3]  
Cohen WW, 1999, SIXTEENTH NATIONAL CONFERENCE ON ARTIFICIAL INTELLIGENCE (AAAI-99)/ELEVENTH INNOVATIVE APPLICATIONS OF ARTIFICIAL INTELLIGENCE (IAAI-99), P335
[4]  
Dallmeier V, 2005, LECT NOTES COMPUT SC, V3586, P528
[5]   Supporting controlled experimentation with testing techniques: An infrastructure and its potential impact [J].
Do, HS ;
Elbaum, S ;
Rothermel, G .
EMPIRICAL SOFTWARE ENGINEERING, 2005, 10 (04) :405-435
[6]  
ERNST MD, 2001, IEEE T SOFTWARE ENG, V27, P1
[7]  
HUTCHINS M, 1994, PROC INT CONF SOFTW, P191, DOI 10.1109/ICSE.1994.296778
[8]  
Jones JA, 2002, ICSE 2002: PROCEEDINGS OF THE 24TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, P467, DOI 10.1109/ICSE.2002.1007991
[9]  
JONES JA, 2007, P ISSTA
[10]  
Jones James A., 2005, P 20 IEEE ACM INT C, P273, DOI DOI 10.1145/1101908.1101949