A practical evaluation of spectrum-based fault localization

被引:356
作者
Abreu, Rui [1 ]
Zoeteweij, Peter [1 ]
Golsteijn, Rob
van Gemund, Arjan J. C. [1 ]
机构
[1] Delft Univ Technol, NL-2600 AA Delft, Netherlands
关键词
Test data analysis; Software fault diagnosis; Program spectra; Real-time and embedded systems; Consumer electronics;
D O I
10.1016/j.jss.2009.06.035
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Spectrum-based fault localization (SFL) shortens the test-diagnose-repair cycle by reducing the debugging effort. As a light-weight automated diagnosis technique it can easily be integrated with existing testing schemes. Since SFL is based on discovering statistical coincidences between system failures and the activity of the different parts of a system, its diagnostic accuracy is inherently limited. Using a common benchmark consisting of the Siemens set and the space program, we investigate this diagnostic accuracy as a function of several parameters (such as quality and quantity of the program spectra collected during the execution of the system), some of which directly relate to test design. Our results indicate that the superior performance of a particular similarity coefficient, used to analyze the program spectra, is largely independent of test design. Furthermore, near-optimal diagnostic accuracy (exonerating over 80% of the blocks of code on average) is already obtained for low-quality error observations and limited numbers of test cases. In addition to establishing these results in the controlled environment of our benchmark set, we show that SFL can effectively be applied in the context of embedded software development in an industrial environment. (C) 2009 Elsevier Inc. All rights reserved.
引用
收藏
页码:1780 / 1792
页数:13
相关论文
共 33 条
[11]  
Dallmeier V, 2005, LECT NOTES COMPUT SC, V3586, P528
[12]   DIAGNOSING MULTIPLE FAULTS [J].
DEKLEER, J ;
WILLIAMS, BC .
ARTIFICIAL INTELLIGENCE, 1987, 32 (01) :97-130
[13]   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
[14]  
Groce A, 2004, LECT NOTES COMPUT SC, V2988, P108
[15]  
GUPTA N, 2005, P 20 IEEE ACM INT C, P263
[16]   Software debugging, testing, and verification [J].
Hailpern, B ;
Santhanam, P .
IBM SYSTEMS JOURNAL, 2002, 41 (01) :4-12
[17]  
Harrold MJ, 2000, SOFTW TEST VERIF REL, V10, P171, DOI 10.1002/1099-1689(200009)10:3<171::AID-STVR209>3.0.CO
[18]  
2-J
[19]  
HUTCHINS M, 1994, PROC INT CONF SOFTW, P191, DOI 10.1109/ICSE.1994.296778
[20]  
Jain AK, 1988, ALGORITHMS CLUSTERIN