An effective change recommendation approach for supplementary bug fixes

Bug fixing is one of the most important activities during software development and maintenance. A substantial number of bugs are often fixed more than once due to incomplete initial fixes which need to be followed up by supplementary fixes. Automatically recommending relevant change locations for su...

Full description

Saved in:
Bibliographic Details
Main Authors: XIA, Xin, LO, David
Format: text
Language:English
Published: Institutional Knowledge at Singapore Management University 2017
Subjects:
Online Access:https://ink.library.smu.edu.sg/sis_research/3706
https://ink.library.smu.edu.sg/context/sis_research/article/4708/viewcontent/EffectiveChangeRecommendationBugFixes_2017.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-4708
record_format dspace
spelling sg-smu-ink.sis_research-47082020-01-15T15:16:26Z An effective change recommendation approach for supplementary bug fixes XIA, Xin LO, David Bug fixing is one of the most important activities during software development and maintenance. A substantial number of bugs are often fixed more than once due to incomplete initial fixes which need to be followed up by supplementary fixes. Automatically recommending relevant change locations for supplementary bug fixes can help developers to improve their productivity. It also help improve the reliability of systems by highlighting locations that a developer potentially needs to change to completely remove a bug. Unfortunately, a recent study by Park et al. shows that many change recommendation techniques do not work for supplementary bug fixes. In this paper, to advance the capabilities of existing change recommendation techniques, we propose an effective approach named SupLocator to recommend relevant locations (i.e., methods) that need to be changed for supplementary bug fixes. Based on various relationships among methods, classes, and packages in the source code (such as containment, inheritance, historical co-change, etc.), SupLocator extracts six change relationship graphs. Next, SupLocator performs random walk on each of the 6 graphs, and for each it outputs a ranked list of candidate change locations. Finally, SupLocator combines these six ranked lists by leveraging genetic algorithm. To investigate the benefits of SupLocator, we perform experiments on three projects, i.e., Eclipse JDT, Eclipse SWT, and Equinox p2. The experimental results show that on average SupLocator can achieve top-1, top-5, and top-10 accuracies, mean reciprocal rank (MRR), and mean average precision (MAP) of 0.51, 0.65, 0.67, 0.58 and 0.32 for the three projects, which improve the best variants of the approach proposed by Park et al. by 1523.09, 639.70, 550.62, 919.41, and 1478.44 %, respectively. It also improves the approach proposed by Saul et al. in terms of top-1, top-5, and top-10 accuracies, MRR, and MAP by 71.81, 29.54, 18.30, 47.24, and 56.60 %, respectively. Statistical tests show that the improvements are statistically significant. 2017-06-01T07:00:00Z text application/pdf https://ink.library.smu.edu.sg/sis_research/3706 info:doi/10.1007/s10515-016-0204-z https://ink.library.smu.edu.sg/context/sis_research/article/4708/viewcontent/EffectiveChangeRecommendationBugFixes_2017.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 Change recommendation Genetic algorithm Random walk Supplementary bug fixes 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 Change recommendation
Genetic algorithm
Random walk
Supplementary bug fixes
Computer Sciences
Software Engineering
spellingShingle Change recommendation
Genetic algorithm
Random walk
Supplementary bug fixes
Computer Sciences
Software Engineering
XIA, Xin
LO, David
An effective change recommendation approach for supplementary bug fixes
description Bug fixing is one of the most important activities during software development and maintenance. A substantial number of bugs are often fixed more than once due to incomplete initial fixes which need to be followed up by supplementary fixes. Automatically recommending relevant change locations for supplementary bug fixes can help developers to improve their productivity. It also help improve the reliability of systems by highlighting locations that a developer potentially needs to change to completely remove a bug. Unfortunately, a recent study by Park et al. shows that many change recommendation techniques do not work for supplementary bug fixes. In this paper, to advance the capabilities of existing change recommendation techniques, we propose an effective approach named SupLocator to recommend relevant locations (i.e., methods) that need to be changed for supplementary bug fixes. Based on various relationships among methods, classes, and packages in the source code (such as containment, inheritance, historical co-change, etc.), SupLocator extracts six change relationship graphs. Next, SupLocator performs random walk on each of the 6 graphs, and for each it outputs a ranked list of candidate change locations. Finally, SupLocator combines these six ranked lists by leveraging genetic algorithm. To investigate the benefits of SupLocator, we perform experiments on three projects, i.e., Eclipse JDT, Eclipse SWT, and Equinox p2. The experimental results show that on average SupLocator can achieve top-1, top-5, and top-10 accuracies, mean reciprocal rank (MRR), and mean average precision (MAP) of 0.51, 0.65, 0.67, 0.58 and 0.32 for the three projects, which improve the best variants of the approach proposed by Park et al. by 1523.09, 639.70, 550.62, 919.41, and 1478.44 %, respectively. It also improves the approach proposed by Saul et al. in terms of top-1, top-5, and top-10 accuracies, MRR, and MAP by 71.81, 29.54, 18.30, 47.24, and 56.60 %, respectively. Statistical tests show that the improvements are statistically significant.
format text
author XIA, Xin
LO, David
author_facet XIA, Xin
LO, David
author_sort XIA, Xin
title An effective change recommendation approach for supplementary bug fixes
title_short An effective change recommendation approach for supplementary bug fixes
title_full An effective change recommendation approach for supplementary bug fixes
title_fullStr An effective change recommendation approach for supplementary bug fixes
title_full_unstemmed An effective change recommendation approach for supplementary bug fixes
title_sort effective change recommendation approach for supplementary bug fixes
publisher Institutional Knowledge at Singapore Management University
publishDate 2017
url https://ink.library.smu.edu.sg/sis_research/3706
https://ink.library.smu.edu.sg/context/sis_research/article/4708/viewcontent/EffectiveChangeRecommendationBugFixes_2017.pdf
_version_ 1770573677101842432