Abstract

Bug localization is an important aspect of software maintenance because it can locate modules that should be changed to fix a specific bug. Our previous study showed that the accuracy of the information retrieval (IR)-based bug localization technique improved when used in combination with code smell information. Although this technique showed promise, the study showed limited usefulness because of the small number of: (1) projects in the dataset, (2) types of smell information, and (3) baseline bug localization techniques used for assessment. This paper presents an extension of our previous experiments on Bench4BL, the largest bug localization benchmark dataset available for bug localization. In addition, we generalized the smell-aware bug localization technique to allow different configurations of smell information, which were combined with various bug localization techniques. Our results confirmed that our technique can improve the performance of IR-based bug localization techniques for the class level even when large datasets are processed. Furthermore, because of the optimized configuration of the smell information, our technique can enhance the performance of most state-of-the-art bug localization techniques.

Highlights

  • Bug localization is the process of identifying the locations of a given bug

  • Motivation When addressing RQ1 and RQ3, we found that the smellaware bug localization technique can improve the performance when combined with the vector space model (VSM) technique

  • The results obtained with the smell-aware bug localization technique are an improvement relative to the baseline by approximately 11.0%, 5.4%, 3.7%, 6.4%, and 4.7% in relative comparison (0.043, 0.036, 0.028, 0.033, and 0.018 in absolute comparison), for Top 1, Top 5, Top 10, Mean Reciprocal Rank (MRR), and mean average precision (MAP), respectively

Read more

Summary

Introduction

Bug localization is the process of identifying the locations of a given bug. Because it can be a tedious task in large-scale software development projects, many ideas have been proposed to automate this process using software development information. BugLocator [4] combined similar bug reports that were fixed in the past with an IR-based technique. Bug localization is the process of identifying the location of the source code that should be modified to fix a specific bug. Automated bug localization techniques can help developers save time during such tedious processes. IR-based bug localization techniques accept a bug report and the source code of a specific version as inputs. Developers are expected to use these rankings to help them perform bug-fixing tasks

Objectives
Methods
Results
Discussion
Conclusion
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call