{"id":{"repo_id":"stellenbosch","oai_identifier":"oai:scholar.sun.ac.za:10019.1/135663"},"canonical_url":"https://search.dev.ndltd.org/etd/stellenbosch/oai:scholar.sun.ac.za:10019.1/135663","repository":{"repo_id":"stellenbosch","name":"Stellenbosch University","base_url":"https://scholar.sun.ac.za/server/oai/request"},"display":{"title":"Spectrum-Based Fault Localization for Multiple Faults","abstract":"Debugging is the process of identifying and removing faults from a software system. The task is traditionally performed largely manually and is thus a costly part of the software development life-cycle. Many automated approaches have been proposed to alleviate the cost of debugging, particularly for the task of fault localization, with Spectrum-Based Fault Localization (SBFL) being the most widely used of these techniques for its lightweight and scalable design. However, while SBFL has been shown to perform well for programs containing only a single fault, its accuracy decays for an increasing number of faults. We therefore develop FLITSR (Fault Localization by Iterative Test Suite Reduction), a novel, purely spectrum-based approach that improves the localization of a given SBFL base metric specifically in the presence of multiple faults. FLITSR returns a set of highly suspicious program elements (called a basis), where the execution of each failing test involves at least one basis element, considered as the cause of the failure. We further develop multiple extensions to the standard FLITSR algorithm, allowing FLITSR to return multiple, ordered bases through the FLITSR* multi-round and internal basis ranking extensions. We lastly improve localization effectiveness through increasing the quality of the underlying test suite in a third FLITSR extension, in which large test cases exposing multiple faults are split up in a process of test case purification. Our evaluations show that FLITSR, along with its extensions, consistently and significantly outperform existing localization metrics and methods, including those designed to handle multiple faults. FLITSR not only improves the localization of the first fault in the ranking, which many localization approaches focus on, but also improves the localization to deeper faults through its basis construction, potentially allowing multiple faults to be fixed before re-running the system.","abstract_html":"Debugging is the process of identifying and removing faults from a software system. The task is traditionally performed largely manually and is thus a costly part of the software development life-cycle. Many automated approaches have been proposed to alleviate the cost of debugging, particularly for the task of fault localization, with Spectrum-Based Fault Localization (SBFL) being the most widely used of these techniques for its lightweight and scalable design. However, while SBFL has been shown to perform well for programs containing only a single fault, its accuracy decays for an increasing number of faults. We therefore develop FLITSR (Fault Localization by Iterative Test Suite Reduction), a novel, purely spectrum-based approach that improves the localization of a given SBFL base metric specifically in the presence of multiple faults. FLITSR returns a set of highly suspicious program elements (called a basis), where the execution of each failing test involves at least one basis element, considered as the cause of the failure. We further develop multiple extensions to the standard FLITSR algorithm, allowing FLITSR to return multiple, ordered bases through the FLITSR* multi-round and internal basis ranking extensions. We lastly improve localization effectiveness through increasing the quality of the underlying test suite in a third FLITSR extension, in which large test cases exposing multiple faults are split up in a process of test case purification. Our evaluations show that FLITSR, along with its extensions, consistently and significantly outperform existing localization metrics and methods, including those designed to handle multiple faults. FLITSR not only improves the localization of the first fault in the ranking, which many localization approaches focus on, but also improves the localization to deeper faults through its basis construction, potentially allowing multiple faults to be fixed before re-running the system.","abstract_has_math":false,"creators":["Callaghan, Dylan Sean"],"institution":"Stellenbosch : Stellenbosch University","degree_name":null,"degree_level":null,"degree_discipline":null,"degree_department":null,"school":null,"contributors":[],"advisors":["Fischer, Bernd"],"committee_chairs":[],"committee_members":[],"year":2026,"date_issued":"2026-03","date_published":"2026-03","updated_at":"2026-07-24T04:40:14Z","subjects":[],"languages":["en"],"rights":[],"rights_urls":[],"identifier_entries":[]},"links":{"outbound_url":"https://scholar.sun.ac.za/handle/10019.1/135663","outbound_label":"Repository record","outbound_source":"dc:identifier.uri"},"metadata_groups":[{"id":"people","label":"People","entries":[{"key":"dc:contributor.advisor","label":"Advisor","values":["Fischer, Bernd"]},{"key":"dc:contributor.other","label":"Dc Contributor Other","values":["Stellenbosch University. Faculty of Science. Dept. of Computer Science."]},{"key":"dc:creator","label":"Author","values":["Callaghan, Dylan Sean"]}]},{"id":"academic_context","label":"Academic Context","entries":[{"key":"dc:date.accessioned","label":"Dc Date Accessioned","values":["2026-04-07T09:39:18Z"]},{"key":"dc:date.available","label":"Dc Date Available","values":["2026-04-07T09:39:18Z"]},{"key":"dc:date.issued","label":"Date","values":["2026-03"]},{"key":"dc:publisher","label":"Institution","values":["Stellenbosch : Stellenbosch University"]},{"key":"dc:type","label":"Dc Type","values":["Thesis"]}]},{"id":"language_rights","label":"Language and Rights","entries":[{"key":"dc:language.iso","label":"Language (ISO)","values":["en"]}]},{"id":"identifiers","label":"Identifiers","entries":[{"key":"dc:identifier.uri","label":"Identifier URI","values":["https://scholar.sun.ac.za/handle/10019.1/135663"]}]},{"id":"additional","label":"Additional Metadata","entries":[{"key":"dc:description","label":"Description","values":["Thesis (PhD)--Stellenbosch University, 2026.","Callaghan, D. S. 2026. Spectrum-Based Fault Localization for Multiple Faults. Unpublished doctoral dissertation. Stellenbosch: Stellenbosch University [online]. Available: https://scholar.sun.ac.za/items/dafeac1b-9416-49f7-a6ab-3c10081a2b64"]},{"key":"dc:description.abstract","label":"Abstract","values":["Debugging is the process of identifying and removing faults from a software system. The task is traditionally performed largely manually and is thus a costly part of the software development life-cycle. Many automated approaches have been proposed to alleviate the cost of debugging, particularly for the task of fault localization, with Spectrum-Based Fault Localization (SBFL) being the most widely used of these techniques for its lightweight and scalable design. However, while SBFL has been shown to perform well for programs containing only a single fault, its accuracy decays for an increasing number of faults. We therefore develop FLITSR (Fault Localization by Iterative Test Suite Reduction), a novel, purely spectrum-based approach that improves the localization of a given SBFL base metric specifically in the presence of multiple faults. FLITSR returns a set of highly suspicious program elements (called a basis), where the execution of each failing test involves at least one basis element, considered as the cause of the failure. We further develop multiple extensions to the standard FLITSR algorithm, allowing FLITSR to return multiple, ordered bases through the FLITSR* multi-round and internal basis ranking extensions. We lastly improve localization effectiveness through increasing the quality of the underlying test suite in a third FLITSR extension, in which large test cases exposing multiple faults are split up in a process of test case purification. Our evaluations show that FLITSR, along with its extensions, consistently and significantly outperform existing localization metrics and methods, including those designed to handle multiple faults. FLITSR not only improves the localization of the first fault in the ranking, which many localization approaches focus on, but also improves the localization to deeper faults through its basis construction, potentially allowing multiple faults to be fixed before re-running the system."]},{"key":"dc:title","label":"Title","values":["Spectrum-Based Fault Localization for Multiple Faults"]}]}],"canonical_facts":{"dc:contributor.advisor":["Fischer, Bernd"],"dc:contributor.other":["Stellenbosch University. Faculty of Science. Dept. of Computer Science."],"dc:creator":["Callaghan, Dylan Sean"],"dc:date.accessioned":["2026-04-07T09:39:18Z"],"dc:date.available":["2026-04-07T09:39:18Z"],"dc:date.issued":["2026-03"],"dc:description":["Thesis (PhD)--Stellenbosch University, 2026.","Callaghan, D. S. 2026. Spectrum-Based Fault Localization for Multiple Faults. Unpublished doctoral dissertation. Stellenbosch: Stellenbosch University [online]. Available: https://scholar.sun.ac.za/items/dafeac1b-9416-49f7-a6ab-3c10081a2b64"],"dc:description.abstract":["Debugging is the process of identifying and removing faults from a software system. The task is traditionally performed largely manually and is thus a costly part of the software development life-cycle. Many automated approaches have been proposed to alleviate the cost of debugging, particularly for the task of fault localization, with Spectrum-Based Fault Localization (SBFL) being the most widely used of these techniques for its lightweight and scalable design. However, while SBFL has been shown to perform well for programs containing only a single fault, its accuracy decays for an increasing number of faults. We therefore develop FLITSR (Fault Localization by Iterative Test Suite Reduction), a novel, purely spectrum-based approach that improves the localization of a given SBFL base metric specifically in the presence of multiple faults. FLITSR returns a set of highly suspicious program elements (called a basis), where the execution of each failing test involves at least one basis element, considered as the cause of the failure. We further develop multiple extensions to the standard FLITSR algorithm, allowing FLITSR to return multiple, ordered bases through the FLITSR* multi-round and internal basis ranking extensions. We lastly improve localization effectiveness through increasing the quality of the underlying test suite in a third FLITSR extension, in which large test cases exposing multiple faults are split up in a process of test case purification. Our evaluations show that FLITSR, along with its extensions, consistently and significantly outperform existing localization metrics and methods, including those designed to handle multiple faults. FLITSR not only improves the localization of the first fault in the ranking, which many localization approaches focus on, but also improves the localization to deeper faults through its basis construction, potentially allowing multiple faults to be fixed before re-running the system."],"dc:identifier.uri":["https://scholar.sun.ac.za/handle/10019.1/135663"],"dc:language.iso":["en"],"dc:publisher":["Stellenbosch : Stellenbosch University"],"dc:title":["Spectrum-Based Fault Localization for Multiple Faults"],"dc:type":["Thesis"]},"updated_at":"2026-07-24T04:40:14Z"}