Abstract

Upon receiving a new bug report, developers need to find its cause in the source code. Bug localization can be helped by a tool that ranks all source files according to how likely they include the bug. This problem was thoroughly examined by numerous scientists. We introduce a novel adaptive bug localization algorithm. The concept behind it is based on new feature weighting approaches and an adaptive selection algorithm utilizing pointwise learn–to–rank method. The algorithm is evaluated on publicly available datasets, and is competitive in terms of accuracy and required computational resources compared to state–of–the–art. Additionally, to improve reproducibility we provide extended datasets that include computed features and partial steps, and we also provide the source code.

Highlights

  • S OFTWARE defects or bugs occur in the development cycle of most software projects and can cause severe problems [1]

  • We propose a new feature φ∗2 that mitigates mentioned threats by using the documentation for API derived from Abstract Syntax Tree (AST) of the source code available at the time when the bug report was submitted, s.api∗

  • We evaluate each variation of regression models with a cutoff function using 5%, 10%, 15%, 20%, 25% and 30% of previously chosen irrelevant files per bug report

Read more

Summary

Introduction

S OFTWARE defects or bugs occur in the development cycle of most software projects and can cause severe problems [1]. To fix the bug the developer has to find the cause and relevant files that need to be changed; such process is called bug localization. Finding relevant files may be a non trivial task as the quality of bug reports will vary depending on a user’s technical knowledge. As a result such reports might be incomplete, or miss some crucial information. A deep understanding of the project structure and the familiarity with the relevant source code is crucial in the bug localization process [4]

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