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

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...

Full description

Saved in:
Bibliographic Details
Main Authors: Zakari, Abubakar, Lee, Sai Peck, Targio Hashem, Ibrahim Abaker
Format: Article
Published: Institute of Electrical and Electronics Engineers 2019
Subjects:
Online Access:http://eprints.um.edu.my/22913/
https://doi.org/10.1109/ACCESS.2019.2910327
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: Universiti Malaya
id my.um.eprints.22913
record_format eprints
spelling my.um.eprints.229132019-11-01T08:33:02Z http://eprints.um.edu.my/22913/ A Community-Based Fault Isolation Approach for Effective Simultaneous Localization of Faults Zakari, Abubakar Lee, Sai Peck Targio Hashem, Ibrahim Abaker QA76 Computer software 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. Institute of Electrical and Electronics Engineers 2019 Article PeerReviewed Zakari, Abubakar and Lee, Sai Peck and Targio Hashem, Ibrahim Abaker (2019) A Community-Based Fault Isolation Approach for Effective Simultaneous Localization of Faults. IEEE Access, 7. pp. 50012-50030. ISSN 2169-3536 https://doi.org/10.1109/ACCESS.2019.2910327 doi:10.1109/ACCESS.2019.2910327
institution Universiti Malaya
building UM Library
collection Institutional Repository
continent Asia
country Malaysia
content_provider Universiti Malaya
content_source UM Research Repository
url_provider http://eprints.um.edu.my/
topic QA76 Computer software
spellingShingle QA76 Computer software
Zakari, Abubakar
Lee, Sai Peck
Targio Hashem, Ibrahim Abaker
A Community-Based Fault Isolation Approach for Effective Simultaneous Localization of Faults
description 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.
format Article
author Zakari, Abubakar
Lee, Sai Peck
Targio Hashem, Ibrahim Abaker
author_facet Zakari, Abubakar
Lee, Sai Peck
Targio Hashem, Ibrahim Abaker
author_sort Zakari, Abubakar
title A Community-Based Fault Isolation Approach for Effective Simultaneous Localization of Faults
title_short A Community-Based Fault Isolation Approach for Effective Simultaneous Localization of Faults
title_full A Community-Based Fault Isolation Approach for Effective Simultaneous Localization of Faults
title_fullStr A Community-Based Fault Isolation Approach for Effective Simultaneous Localization of Faults
title_full_unstemmed A Community-Based Fault Isolation Approach for Effective Simultaneous Localization of Faults
title_sort community-based fault isolation approach for effective simultaneous localization of faults
publisher Institute of Electrical and Electronics Engineers
publishDate 2019
url http://eprints.um.edu.my/22913/
https://doi.org/10.1109/ACCESS.2019.2910327
_version_ 1651867375271673856