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

Bibliographic Details
Main Authors: Abubakar Zakari, Sai Peck Lee, Ibrahim Abaker Targio Hashem
Format: Article
Language:English
Published: IEEE 2019-01-01
Series:IEEE Access
Subjects:
Online Access:https://ieeexplore.ieee.org/document/8688461/
_version_ 1818854636246794240
author Abubakar Zakari
Sai Peck Lee
Ibrahim Abaker Targio Hashem
author_facet Abubakar Zakari
Sai Peck Lee
Ibrahim Abaker Targio Hashem
author_sort Abubakar Zakari
collection DOAJ
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.
first_indexed 2024-12-19T07:55:51Z
format Article
id doaj.art-372bc4c988b44935800595f0e580b98c
institution Directory Open Access Journal
issn 2169-3536
language English
last_indexed 2024-12-19T07:55:51Z
publishDate 2019-01-01
publisher IEEE
record_format Article
series IEEE Access
spelling doaj.art-372bc4c988b44935800595f0e580b98c2022-12-21T20:30:00ZengIEEEIEEE Access2169-35362019-01-017500125003010.1109/ACCESS.2019.29103278688461A Community-Based Fault Isolation Approach for Effective Simultaneous Localization of FaultsAbubakar Zakari0https://orcid.org/0000-0001-6488-0666Sai Peck Lee1Ibrahim Abaker Targio Hashem2Faculty of Computer Science and Information Technology, University of Malaya, Kuala Lumpur, MalaysiaFaculty of Computer Science and Information Technology, University of Malaya, Kuala Lumpur, MalaysiaSchool of Computing and IT, Taylor’s University, Subang Jaya, MalaysiaDuring 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.https://ieeexplore.ieee.org/document/8688461/Complex networkmultiple faultsfault localizationfault isolationprogram debuggingparallel debugging
spellingShingle Abubakar Zakari
Sai Peck Lee
Ibrahim Abaker Targio Hashem
A Community-Based Fault Isolation Approach for Effective Simultaneous Localization of Faults
IEEE Access
Complex network
multiple faults
fault localization
fault isolation
program debugging
parallel debugging
title 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_short 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
topic Complex network
multiple faults
fault localization
fault isolation
program debugging
parallel debugging
url https://ieeexplore.ieee.org/document/8688461/
work_keys_str_mv AT abubakarzakari acommunitybasedfaultisolationapproachforeffectivesimultaneouslocalizationoffaults
AT saipecklee acommunitybasedfaultisolationapproachforeffectivesimultaneouslocalizationoffaults
AT ibrahimabakertargiohashem acommunitybasedfaultisolationapproachforeffectivesimultaneouslocalizationoffaults
AT abubakarzakari communitybasedfaultisolationapproachforeffectivesimultaneouslocalizationoffaults
AT saipecklee communitybasedfaultisolationapproachforeffectivesimultaneouslocalizationoffaults
AT ibrahimabakertargiohashem communitybasedfaultisolationapproachforeffectivesimultaneouslocalizationoffaults