An evaluation of pure spectrum-based fault localization techniques for large-scale software systems
Pure spectrum-based fault localization (SBFL) is a well-studied statistical debugging technique that only takes a set of test cases (some failing and some passing) and their code coverage as input and produces a ranked list of suspicious program elements to help the developer identify the location o...
Saved in:
Main Authors: | , , , , , , |
---|---|
Format: | text |
Language: | English |
Published: |
Institutional Knowledge at Singapore Management University
2019
|
Subjects: | |
Online Access: | https://ink.library.smu.edu.sg/sis_research/4408 https://doi.org/10.1002/spe.2703 |
Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
Institution: | Singapore Management University |
Language: | English |
id |
sg-smu-ink.sis_research-5411 |
---|---|
record_format |
dspace |
spelling |
sg-smu-ink.sis_research-54112020-04-16T03:20:40Z An evaluation of pure spectrum-based fault localization techniques for large-scale software systems HEIDEN, Simon GRUNSKE, Lars KEHRER, Timo KELLER, Fabian VAN HOORN, Andre FILIERI, Antonio LO, David Pure spectrum-based fault localization (SBFL) is a well-studied statistical debugging technique that only takes a set of test cases (some failing and some passing) and their code coverage as input and produces a ranked list of suspicious program elements to help the developer identify the location of a bug that causes a failed test case. Studies show that pure SBFL techniques produce good ranked lists for small programs. However, our previous study based on the iBugs benchmark that uses the AspectJ repository shows that, for realistic programs, the accuracy of the ranked list is not suitable for human developers. In this paper, we confirm this based on a combined empirical evaluation with the iBugs and the Defects4J benchmark. Our experiments show that, on average, at most ∼40%, ∼80%, and ∼90% of the bugs can be localized reliably within the first 10, 100, and 1000 ranked lines, respectively, in the Defects4J benchmark. To reliably localize 90% of the bugs with the best performing SBFL metric D∗, ∼450 lines have to be inspected by the developer. For human developers, this remains unsuitable, although the results improve compared with the results for the AspectJ benchmark. Based on this study, we can clearly see the need to go beyond pure SBFL and take other information, such as information from the bug report or from version history of the code lines, into consideration. 2019-08-01T07:00:00Z text https://ink.library.smu.edu.sg/sis_research/4408 info:doi/10.1002/spe.2703 https://doi.org/10.1002/spe.2703 Research Collection School Of Computing and Information Systems eng Institutional Knowledge at Singapore Management University Debugging Empirical studies Fault localization Software Engineering |
institution |
Singapore Management University |
building |
SMU Libraries |
continent |
Asia |
country |
Singapore Singapore |
content_provider |
SMU Libraries |
collection |
InK@SMU |
language |
English |
topic |
Debugging Empirical studies Fault localization Software Engineering |
spellingShingle |
Debugging Empirical studies Fault localization Software Engineering HEIDEN, Simon GRUNSKE, Lars KEHRER, Timo KELLER, Fabian VAN HOORN, Andre FILIERI, Antonio LO, David An evaluation of pure spectrum-based fault localization techniques for large-scale software systems |
description |
Pure spectrum-based fault localization (SBFL) is a well-studied statistical debugging technique that only takes a set of test cases (some failing and some passing) and their code coverage as input and produces a ranked list of suspicious program elements to help the developer identify the location of a bug that causes a failed test case. Studies show that pure SBFL techniques produce good ranked lists for small programs. However, our previous study based on the iBugs benchmark that uses the AspectJ repository shows that, for realistic programs, the accuracy of the ranked list is not suitable for human developers. In this paper, we confirm this based on a combined empirical evaluation with the iBugs and the Defects4J benchmark. Our experiments show that, on average, at most ∼40%, ∼80%, and ∼90% of the bugs can be localized reliably within the first 10, 100, and 1000 ranked lines, respectively, in the Defects4J benchmark. To reliably localize 90% of the bugs with the best performing SBFL metric D∗, ∼450 lines have to be inspected by the developer. For human developers, this remains unsuitable, although the results improve compared with the results for the AspectJ benchmark. Based on this study, we can clearly see the need to go beyond pure SBFL and take other information, such as information from the bug report or from version history of the code lines, into consideration. |
format |
text |
author |
HEIDEN, Simon GRUNSKE, Lars KEHRER, Timo KELLER, Fabian VAN HOORN, Andre FILIERI, Antonio LO, David |
author_facet |
HEIDEN, Simon GRUNSKE, Lars KEHRER, Timo KELLER, Fabian VAN HOORN, Andre FILIERI, Antonio LO, David |
author_sort |
HEIDEN, Simon |
title |
An evaluation of pure spectrum-based fault localization techniques for large-scale software systems |
title_short |
An evaluation of pure spectrum-based fault localization techniques for large-scale software systems |
title_full |
An evaluation of pure spectrum-based fault localization techniques for large-scale software systems |
title_fullStr |
An evaluation of pure spectrum-based fault localization techniques for large-scale software systems |
title_full_unstemmed |
An evaluation of pure spectrum-based fault localization techniques for large-scale software systems |
title_sort |
evaluation of pure spectrum-based fault localization techniques for large-scale software systems |
publisher |
Institutional Knowledge at Singapore Management University |
publishDate |
2019 |
url |
https://ink.library.smu.edu.sg/sis_research/4408 https://doi.org/10.1002/spe.2703 |
_version_ |
1770574700644139008 |