Diversity Maximization Speedup for Localizing Faults in Single-Fault and Multi-Fault Programs
Fault localization is useful for reducing debugging effort. Such techniques require test cases with oracles, which can determine whether a program behaves correctly for every test input. Although most fault localization techniques can localize faults relatively accurately even with a small number of...
Saved in:
Main Authors: | , , , , , |
---|---|
Format: | text |
Language: | English |
Published: |
Institutional Knowledge at Singapore Management University
2016
|
Subjects: | |
Online Access: | https://ink.library.smu.edu.sg/sis_research/2434 https://ink.library.smu.edu.sg/context/sis_research/article/3434/viewcontent/art_3A10.1007_2Fs10515_014_0165_z.pdf |
Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
Institution: | Singapore Management University |
Language: | English |
id |
sg-smu-ink.sis_research-3434 |
---|---|
record_format |
dspace |
spelling |
sg-smu-ink.sis_research-34342016-03-22T03:14:41Z Diversity Maximization Speedup for Localizing Faults in Single-Fault and Multi-Fault Programs XIA, Xin GONG, Liang LE, Tien-Duy B. LO, David JIANG, Lingxiao ZHANG, Hongyu Fault localization is useful for reducing debugging effort. Such techniques require test cases with oracles, which can determine whether a program behaves correctly for every test input. Although most fault localization techniques can localize faults relatively accurately even with a small number of test cases, choosing the right test cases and creating oracles for them are not easy. Test oracle creation is expensive because it can take much manual labeling effort (i.e., effort needed to decide whether the test cases pass or fail). Given a number of test cases to be executed, it is challenging to minimize the number of test cases requiring manual labeling and in the meantime achieve good fault localization accuracy. To address this challenge, this paper presents a novel test case selection strategy based on Diversity Maximization Speedup (Dms). Dms orders a set of unlabeled test cases in a way that maximizes the effectiveness of a fault localization technique. Developers are only expected to label a much smaller number of test cases along this ordering to achieve good fault localization results. We evaluate the performance of Dms on 2 different types of programs, single-fault and multi-fault programs. Our experiments with 411 faults from the Software-artifact Infrastructure Repository show (1) that Dms can help existing fault localization techniques to achieve comparable accuracy with on average 67 and 6 % fewer labeled test cases than previously best test case prioritization techniques for single-fault and multi-fault programs, and (2) that given a labeling budget (i.e., a fixed number of labeled test cases), Dms can help existing fault localization techniques reduce their debugging cost (in terms of the amount of code needed to be inspected to locate faults). We conduct hypothesis test and show that the saving of the debugging cost we achieve for the real C programs are statistically significant. 2016-03-01T08:00:00Z text application/pdf https://ink.library.smu.edu.sg/sis_research/2434 info:doi/10.1007/s10515-014-0165-z https://ink.library.smu.edu.sg/context/sis_research/article/3434/viewcontent/art_3A10.1007_2Fs10515_014_0165_z.pdf http://creativecommons.org/licenses/by-nc-nd/4.0/ Research Collection School Of Computing and Information Systems eng Institutional Knowledge at Singapore Management University Fault localization Test case prioritization Single-fault program Multi-fault program Computer Sciences Software Engineering |
institution |
Singapore Management University |
building |
SMU Libraries |
continent |
Asia |
country |
Singapore Singapore |
content_provider |
SMU Libraries |
collection |
InK@SMU |
language |
English |
topic |
Fault localization Test case prioritization Single-fault program Multi-fault program Computer Sciences Software Engineering |
spellingShingle |
Fault localization Test case prioritization Single-fault program Multi-fault program Computer Sciences Software Engineering XIA, Xin GONG, Liang LE, Tien-Duy B. LO, David JIANG, Lingxiao ZHANG, Hongyu Diversity Maximization Speedup for Localizing Faults in Single-Fault and Multi-Fault Programs |
description |
Fault localization is useful for reducing debugging effort. Such techniques require test cases with oracles, which can determine whether a program behaves correctly for every test input. Although most fault localization techniques can localize faults relatively accurately even with a small number of test cases, choosing the right test cases and creating oracles for them are not easy. Test oracle creation is expensive because it can take much manual labeling effort (i.e., effort needed to decide whether the test cases pass or fail). Given a number of test cases to be executed, it is challenging to minimize the number of test cases requiring manual labeling and in the meantime achieve good fault localization accuracy. To address this challenge, this paper presents a novel test case selection strategy based on Diversity Maximization Speedup (Dms). Dms orders a set of unlabeled test cases in a way that maximizes the effectiveness of a fault localization technique. Developers are only expected to label a much smaller number of test cases along this ordering to achieve good fault localization results. We evaluate the performance of Dms on 2 different types of programs, single-fault and multi-fault programs. Our experiments with 411 faults from the Software-artifact Infrastructure Repository show (1) that Dms can help existing fault localization techniques to achieve comparable accuracy with on average 67 and 6 % fewer labeled test cases than previously best test case prioritization techniques for single-fault and multi-fault programs, and (2) that given a labeling budget (i.e., a fixed number of labeled test cases), Dms can help existing fault localization techniques reduce their debugging cost (in terms of the amount of code needed to be inspected to locate faults). We conduct hypothesis test and show that the saving of the debugging cost we achieve for the real C programs are statistically significant. |
format |
text |
author |
XIA, Xin GONG, Liang LE, Tien-Duy B. LO, David JIANG, Lingxiao ZHANG, Hongyu |
author_facet |
XIA, Xin GONG, Liang LE, Tien-Duy B. LO, David JIANG, Lingxiao ZHANG, Hongyu |
author_sort |
XIA, Xin |
title |
Diversity Maximization Speedup for Localizing Faults in Single-Fault and Multi-Fault Programs |
title_short |
Diversity Maximization Speedup for Localizing Faults in Single-Fault and Multi-Fault Programs |
title_full |
Diversity Maximization Speedup for Localizing Faults in Single-Fault and Multi-Fault Programs |
title_fullStr |
Diversity Maximization Speedup for Localizing Faults in Single-Fault and Multi-Fault Programs |
title_full_unstemmed |
Diversity Maximization Speedup for Localizing Faults in Single-Fault and Multi-Fault Programs |
title_sort |
diversity maximization speedup for localizing faults in single-fault and multi-fault programs |
publisher |
Institutional Knowledge at Singapore Management University |
publishDate |
2016 |
url |
https://ink.library.smu.edu.sg/sis_research/2434 https://ink.library.smu.edu.sg/context/sis_research/article/3434/viewcontent/art_3A10.1007_2Fs10515_014_0165_z.pdf |
_version_ |
1770572145572708352 |