Loading…

Learning to rank developers for bug report assignment

Bug assignment is a burden for projects receiving many bug reports. To automate the process of assigning bug reports to the appropriate developers, several studies have relied on combining natural language processing and information retrieval techniques to extract two categories of features. One of...

Full description

Saved in:
Bibliographic Details
Published in:Applied soft computing 2020-10, Vol.95, p.106667, Article 106667
Main Authors: Alkhazi, Bader, DiStasi, Andrew, Aljedaani, Wajdi, Alrubaye, Hussein, Ye, Xin, Mkaouer, Mohamed Wiem
Format: Article
Language:English
Subjects:
Citations: Items that this one cites
Items that cite this one
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary:Bug assignment is a burden for projects receiving many bug reports. To automate the process of assigning bug reports to the appropriate developers, several studies have relied on combining natural language processing and information retrieval techniques to extract two categories of features. One of these categories targets developers who have fixed similar bugs before, and the other determines developers working on source files similar to the description of the bug. Commit messages represent another rich source for profiling developer expertise as the language used in commit messages is closer to that used in bug reports. In this work, we propose a more enhanced profiling of developers through their commits, which are captured in a new set of features that we combine with features used in previous studies. More precisely, we propose an adaptive ranking approach that takes as input a given bug report and ranks the top developers who are most suitable to fix it. This approach learns from the history of previously fixed bugs to profile developers in terms of their expertise. With respect to a given bug report, the ranking score of each developer is computed as a weighted combination of an array of features encoding domain knowledge, where the weights are trained automatically on previously solved bug reports using a learning-to-rank technique. Our model was evaluated using around 22,000 bug reports, exported from four large scale open-source Java projects. Results show that our model significantly outperformed two recent state-of-the-art methods in recommending the suitable developer to handle a certain bug report. Specifically, the percentage of recommending a developer within the top 5 ranked developers correctly was over 80% for both the Eclipse UI Platform and Birt projects. •We tackle the problem of recommending the most suitable developer to fix an open bug report.•We apply learning-to-rank algorithm to rank the most suitable developers to fix a bug report.•Our model is trained using previously fixed bug reports, and using developers coding history.•We consider 22 characteristics that we transform into features for our ranking algorithm.•Experiments indicate that our solution offers higher accuracy than the other approaches.
ISSN:1568-4946
1872-9681
DOI:10.1016/j.asoc.2020.106667