Will fault localization work for these failures? An automated approach to predict effectiveness of fault localization tools

Debugging is a crucial yet expensive activity to improve the reliability of software systems. To reduce debugging cost, various fault localization tools have been proposed. A spectrum-based fault localization tool often outputs an ordered list of program elements sorted based on their likelihood to...

Full description

Saved in:
Bibliographic Details
Main Authors: LE, Tien-Duy B., LO, David
Format: text
Language:English
Published: Institutional Knowledge at Singapore Management University 2013
Subjects:
Online Access:https://ink.library.smu.edu.sg/sis_research/2018
https://ink.library.smu.edu.sg/context/sis_research/article/3017/viewcontent/4981a310.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-3017
record_format dspace
spelling sg-smu-ink.sis_research-30172020-04-24T08:42:44Z Will fault localization work for these failures? An automated approach to predict effectiveness of fault localization tools LE, Tien-Duy B. LO, David Debugging is a crucial yet expensive activity to improve the reliability of software systems. To reduce debugging cost, various fault localization tools have been proposed. A spectrum-based fault localization tool often outputs an ordered list of program elements sorted based on their likelihood to be the root cause of a set of failures (i.e., their suspiciousness scores). Despite the many studies on fault localization, unfortunately, however, for many bugs, the root causes are often low in the ordered list. This potentially causes developers to distrust fault localization tools. Recently, Parnin and Orso highlight in their user study that many debuggers do not find fault localization useful if they do not find the root cause early in the list. To alleviate the above issue, we build an oracle that could predict whether the output of a fault localization tool can be trusted or not. If the output is not likely to be trusted, developers do not need to spend time going through the list of most suspicious program elements one by one. Rather, other conventional means of debugging could be performed. To construct the oracle, we extract the values of a number of features that are potentially related to the effectiveness of fault localization. Building upon advances in machine learning, we process these feature values to learn a discriminative model that is able to predict the effectiveness of a fault localization tool output. In this preliminary work, we consider an output of a fault localization tool to be effective if the root cause appears in the top 10 most suspicious program elements. We have experimented our proposed oracle on 200 faulty programs from Space, NanoXML, XML-Security, and the 7 programs in Siemens test suite. Our experiments demonstrate that we could predict the effectiveness of fault localization tool with a precision, recall, and F-measure (harmonic mean of precision and recall) of 54.36%, 95.29%, and 69.23%. The numbers indicate that many ineffective fault localization instances are identified correctly, while only very few effective ones are identified wrongly. 2013-09-01T07:00:00Z text application/pdf https://ink.library.smu.edu.sg/sis_research/2018 info:doi/10.1109/ICSM.2013.42 https://ink.library.smu.edu.sg/context/sis_research/article/3017/viewcontent/4981a310.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 Classification Fault Localization Effectiveness Prediction Software Engineering
institution Singapore Management University
building SMU Libraries
continent Asia
country Singapore
Singapore
content_provider SMU Libraries
collection InK@SMU
language English
topic Classification
Fault Localization
Effectiveness Prediction
Software Engineering
spellingShingle Classification
Fault Localization
Effectiveness Prediction
Software Engineering
LE, Tien-Duy B.
LO, David
Will fault localization work for these failures? An automated approach to predict effectiveness of fault localization tools
description Debugging is a crucial yet expensive activity to improve the reliability of software systems. To reduce debugging cost, various fault localization tools have been proposed. A spectrum-based fault localization tool often outputs an ordered list of program elements sorted based on their likelihood to be the root cause of a set of failures (i.e., their suspiciousness scores). Despite the many studies on fault localization, unfortunately, however, for many bugs, the root causes are often low in the ordered list. This potentially causes developers to distrust fault localization tools. Recently, Parnin and Orso highlight in their user study that many debuggers do not find fault localization useful if they do not find the root cause early in the list. To alleviate the above issue, we build an oracle that could predict whether the output of a fault localization tool can be trusted or not. If the output is not likely to be trusted, developers do not need to spend time going through the list of most suspicious program elements one by one. Rather, other conventional means of debugging could be performed. To construct the oracle, we extract the values of a number of features that are potentially related to the effectiveness of fault localization. Building upon advances in machine learning, we process these feature values to learn a discriminative model that is able to predict the effectiveness of a fault localization tool output. In this preliminary work, we consider an output of a fault localization tool to be effective if the root cause appears in the top 10 most suspicious program elements. We have experimented our proposed oracle on 200 faulty programs from Space, NanoXML, XML-Security, and the 7 programs in Siemens test suite. Our experiments demonstrate that we could predict the effectiveness of fault localization tool with a precision, recall, and F-measure (harmonic mean of precision and recall) of 54.36%, 95.29%, and 69.23%. The numbers indicate that many ineffective fault localization instances are identified correctly, while only very few effective ones are identified wrongly.
format text
author LE, Tien-Duy B.
LO, David
author_facet LE, Tien-Duy B.
LO, David
author_sort LE, Tien-Duy B.
title Will fault localization work for these failures? An automated approach to predict effectiveness of fault localization tools
title_short Will fault localization work for these failures? An automated approach to predict effectiveness of fault localization tools
title_full Will fault localization work for these failures? An automated approach to predict effectiveness of fault localization tools
title_fullStr Will fault localization work for these failures? An automated approach to predict effectiveness of fault localization tools
title_full_unstemmed Will fault localization work for these failures? An automated approach to predict effectiveness of fault localization tools
title_sort will fault localization work for these failures? an automated approach to predict effectiveness of fault localization tools
publisher Institutional Knowledge at Singapore Management University
publishDate 2013
url https://ink.library.smu.edu.sg/sis_research/2018
https://ink.library.smu.edu.sg/context/sis_research/article/3017/viewcontent/4981a310.pdf
_version_ 1770571774086348800