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...

Full description

Saved in:
Bibliographic Details
Main Authors: XIA, Xin, GONG, Liang, LE, Tien-Duy B., LO, David, JIANG, Lingxiao, ZHANG, Hongyu
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