Utilizing a multi-developer network-based developer recommendation algorithm to fix bugs effectively

Recently, bug fixing has become an important part of software maintenance. In large-scale projects, developers rely on bug reports to guide any bug-fixing activities. Due to a great number of bug reports submitted into the bug repository, the workload of the triagers who are responsible for arranging developers to fix the given bugs is very high. In order to reduce the triagers' workload, a number of approaches (e.g., machine learning algorithms and social network metrics) were proposed to study who should fix the bug report. In this study, we propose a novel algorithm for developer recommendation. We first introduce a component and a similar bug-based selection process to verify the candidate fixers, then by adopting the number of comments and commits, we construct a multi-developer network so that ranking these candidates for finding the most appropriate fixer to resolve the given bug. In order to evaluate our work, we measured the effectiveness of our approach based on 3,008 bug reports from the JBoss Issue bug repository. We also compared the proposed approach to three previous studies. The result shows that our approach performs the task of bug triage effectively.

[1]  Jun Yan,et al.  Automatic Bug Triage using Semi-Supervised Text Classification , 2017, SEKE.

[2]  He Jiang,et al.  Developer prioritization in bug repositories , 2012, 2012 34th International Conference on Software Engineering (ICSE).

[3]  Cheng-Zen Yang,et al.  Implicit Social Network Model for Predicting and Tracking the Location of Faults , 2008, 2008 32nd Annual IEEE International Computer Software and Applications Conference.

[4]  Mark Goadrich,et al.  The relationship between Precision-Recall and ROC curves , 2006, ICML.

[5]  Seung-won Hwang,et al.  CosTriage: A Cost-Aware Triage Algorithm for Bug Reporting Systems , 2011, AAAI.

[6]  F. Wilcoxon Individual Comparisons by Ranking Methods , 1945 .

[7]  Avinash C. Kak,et al.  Retrieval from software libraries for bug localization: a comparative study of generic and composite text models , 2011, MSR '11.

[8]  Tao Zhang,et al.  An Automated Bug Triage Approach: A Concept Profile and Social Network Based Developer Recommendation , 2012, ICIC.

[9]  Ye Yang,et al.  DREX: Developer Recommendation with K-Nearest-Neighbor Search and Expertise Ranking , 2011, 2011 18th Asia-Pacific Software Engineering Conference.

[10]  Thomas Zimmermann,et al.  Improving bug triage with bug tossing graphs , 2009, ESEC/FSE '09.

[11]  Gail C. Murphy,et al.  Automatic bug triage using text categorization , 2004, SEKE.

[12]  Tao Zhang,et al.  A hybrid bug triage algorithm for developer recommendation , 2013, SAC '13.

[13]  Rongxin Wu,et al.  ReLink: recovering links between bugs and changes , 2011, ESEC/FSE '11.

[14]  Hamidah Ibrahim,et al.  A Comparative Study in Classification Techniques for Unsupervised Record Linkage Model , 2011 .

[15]  Gail C. Murphy,et al.  Who should fix this bug? , 2006, ICSE.

[16]  R Core Team,et al.  R: A language and environment for statistical computing. , 2014 .

[17]  Ken-ichi Matsumoto,et al.  The impact of bug management patterns on bug fixing: A case study of Eclipse projects , 2012, 2012 28th IEEE International Conference on Software Maintenance (ICSM).

[18]  Oscar Nierstrasz,et al.  Assigning bug reports using a vocabulary-based expertise model of developers , 2009, 2009 6th IEEE International Working Conference on Mining Software Repositories.