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...
Main Authors: | , , |
---|---|
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 |