IBIR: Bug-report-driven Fault Injection

被引:7
作者
Khanfir, Ahmed [1 ]
Koyuncu, Anil [2 ]
Papadakis, Mike [1 ]
Cordy, Maxime [1 ]
Bissyande, Tegawende F. [1 ]
Klein, Jacques [1 ]
Le Traon, Yves [1 ]
机构
[1] Univ Luxembourg, SnT, 29 Ave John F Kennedy, L-1855 Luxembourg, Luxembourg
[2] Sabanci Univ, Aoeniversite Caddesi 27, TR-34956 Istanbul, Turkiye
基金
欧洲研究理事会;
关键词
Fault injection; mutation; bug reports; information retrieval; MUTANT REDUCTION; ALL-USES; MUTATION; SOFTWARE; LOCALIZATION;
D O I
10.1145/3542946
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Much research on software engineering relies on experimental studies based on fault injection. Fault injection, however, is not often relevant to emulate real-world software faults since it "blindly" injects large numbers of faults. It remains indeed challenging to inject few but realistic faults that target a particular functionality in a program. In this work, we introduce iBiR, a fault injection tool that addresses this challenge by exploring change patterns associated to user-reported faults. To inject realistic faults, we create mutants by re-targeting a bug-report-driven automated program repair system, i.e., reversing its code transformation templates. iBiR is further appealing in practice since it requires deep knowledge of neither code nor tests, just of the program's relevant bug reports. Thus, our approach focuses the fault injection on the feature targeted by the bug report. We assess iBiR by considering the Defects4J dataset. Experimental results show that our approach outperforms the fault injection performed by traditionalmutation testing in terms of semantic similarity with the original bug, when applied at either system or class levels of granularity, and provides better, statistically significant estimations of test effectiveness (fault detection). Additionally, when injecting 100 faults, iBiR injects faults that couple with the real ones in around 36% of the cases, while mutation testing achieves less than 4%.
引用
收藏
页数:31
相关论文
共 83 条
[1]   Spectrum-based Multiple Fault Localization [J].
Abreu, Rui ;
Zoeteweij, Peter ;
van Gemund, Arjan J. C. .
2009 IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING, PROCEEDINGS, 2009, :88-99
[2]  
Agrawal Hiralal, 1989, SERCTR41 PURD U
[3]  
Ammann Paul., 2008, Introduction to Software Testing, DOI DOI 10.1017/CBO9780511809163
[4]   Using mutation analysis for assessing and comparing testing coverage criteria [J].
Andrews, James H. ;
Briand, Lionel C. ;
Labiche, Yvan ;
Namin, Akbar Siami .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2006, 32 (08) :608-624
[5]  
[Anonymous], 2011, Proceedings of the 2011 International Symposium on Software Testing and Analysis, DOI DOI 10.1145/2001420.2001445
[6]  
[Anonymous], 1992, Information retrieval: data structures and algorithms
[7]   FAULT INJECTION AND DEPENDABILITY EVALUATION OF FAULT-TOLERANT SYSTEMS [J].
ARLAT, J ;
COSTES, A ;
CROUZET, Y ;
LAPRIE, JC ;
POWELL, D .
IEEE TRANSACTIONS ON COMPUTERS, 1993, 42 (08) :913-923
[8]  
Arong, 2014, PROCEEDINGS OF 2014 IEEE INTERNATIONAL CONFERENCE ON PROGRESS IN INFORMATICS AND COMPUTING (PIC), P51, DOI 10.1109/PIC.2014.6972294
[9]   The Care and Feeding of Wild-Caught Mutants [J].
Brown, David Bingham ;
Vaughn, Michael ;
Liblit, Ben ;
Reps, Thomas .
ESEC/FSE 2017: PROCEEDINGS OF THE 2017 11TH JOINT MEETING ON FOUNDATIONS OF SOFTWARE ENGINEERING, 2017, :511-522
[10]   An Empirical Study on Mutation, Statement and Branch Coverage Fault Revelation that Avoids the Unreliable Clean Program Assumption [J].
Chekam, Thierry Titcheu ;
Papadakis, Mike ;
Le Traon, Yves ;
Harman, Mark .
2017 IEEE/ACM 39TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE), 2017, :597-608