A Community-Based Fault Isolation Approach for Effective Simultaneous Localization of Faults

被引:10
作者
Zakari, Abubakar [1 ,2 ]
Lee, Sai Peck [1 ]
Hashem, Ibrahim Abaker Targio [3 ]
机构
[1] Univ Malaya, Fac Comp Sci & Informat Technol, Kuala Lumpur 50603, Malaysia
[2] Kano Univ Sci & Technol, Dept Comp Sci, Wudil, Nigeria
[3] Taylors Univ, Sch Comp & IT, Subang Jaya 47500, Malaysia
关键词
Complex network; multiple faults; fault localization; fault isolation; program debugging; parallel debugging; SOFTWARE; EVOLUTION; MUTATION;
D O I
10.1109/ACCESS.2019.2910327
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
During program testing, software programs may be discovered to contain multiple faults. Multiple faults in a program may reduce the effectiveness of the existing fault localization techniques due to the complex relationship between faults and failures in the presence of multiple faults. In an ideal case, faults are isolated into fault-focused clusters, each targeting a single fault for developers to localize them simultaneously in parallel. However, the relationship between faults and failures is not easily identified and depends solely on the accuracy of clustering, such as existing clustering algorithms are not able to isolate failed tests to their causative faults effectively which hinder localization effectiveness. This paper proposes a new approach that makes use of a divisive network community clustering algorithm to isolate faults into separate fault-focused communities that target a single fault each. A community weighting and a selection mechanism that aids in prioritizing highly important fault-focused communities to the available developers to debug the faults simultaneously in parallel is also proposed. The approach is evaluated on eight subject programs ranging from medium-sized to large-sized programs (tcas, replace, gzip, sed, flex, grep, make, and ant). Overall, 540 multiple-fault versions of these programs were generated with 2-5 faulty versions. The experimental results have demonstrated that the proposed approach performs significantly better in terms of localization effectiveness in comparison with two other parallel debugging approaches for locating multiple faults in parallel.
引用
收藏
页码:50012 / 50030
页数:19
相关论文
共 50 条
[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]   Simultaneous debugging of software faults [J].
Abreu, Rui ;
Zoeteweij, Peter ;
van Gemund, Arjan J. C. .
JOURNAL OF SYSTEMS AND SOFTWARE, 2011, 84 (04) :573-586
[3]   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
[4]   Is mutation an appropriate tool for testing experiments? [J].
Andrews, JH ;
Briand, LC ;
Labiche, Y .
ICSE 05: 27TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, PROCEEDINGS, 2005, :402-411
[5]  
[Anonymous], P IEEE 23 INT C SOFT
[6]  
[Anonymous], P INT C MACH LEARN C
[7]   Fast unfolding of communities in large networks [J].
Blondel, Vincent D. ;
Guillaume, Jean-Loup ;
Lambiotte, Renaud ;
Lefebvre, Etienne .
JOURNAL OF STATISTICAL MECHANICS-THEORY AND EXPERIMENT, 2008,
[8]   Using machine learning to support debugging with Tarantula [J].
Briand, Lionel C. ;
Labiche, Yvan ;
Liu, Xuetao .
ISSRE 2007: 18TH IEEE INTERNATIONAL SYMPOSIUM ON SOFTWARE RELIABILITY ENGINEERING, PROCEEDINGS, 2007, :137-+
[9]  
Cleve H, 2005, PROC INT CONF SOFTW, P342
[10]   Finding failures by cluster analysis of execution profiles [J].
Dickinson, W ;
Leon, D ;
Podgurski, A .
PROCEEDINGS OF THE 23RD INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, 2001, :339-348