Ranking of software developers based on expertise score for bug triaging

Abstract Context Existing bug triage approaches for developer recommendation systems are mainly based on machine learning (ML) techniques. These approaches have shown low prediction accuracy and high bug tossing length (BTL). Objective The objective of this paper is to develop a robust algorithm for reducing BTL based on the concept of developer expertise score (DES). Method None of the existing approaches to the best of our knowledge have utilized metrics to build developer expertise score. The novel strategy of DES is consisted of two stages: Stage-I consisted of an offline process for detecting the developers based on DES which computes the score using priority, versatility and average fix-time for his individual contributions. The online system process consisted of finding the capable developers using three kinds of similarity measures (feature-based, cosine-similarity and Jaccard). Stage-II of the online process consisted of simply ranking the developers. Hit-ratio and reassignment accuracy were used for performance evaluation. We compared our system against the ML-based bug triaging approaches using three types of classifiers: Navies Bayes, Support Vector Machine and C4.5 paradigms. Results By adapting the five open source databases, namely: Mozilla, Eclipse, Netbeans, Firefox, and Freedesktop, covering 41,622 bug reports, our novel DES system yielded a mean accuracy, precision, recall rate and F-score of 89.49%, 89.53%, 89.42% and 89.49%, respectively, reduced BTLs of up to 88.55%. This demonstrates an improvement of up to 20% over existing strategies. Conclusion This work presented a novel developer recommendation algorithm to rank the developers based on a metric-based integrated score for bug triaging. This integrated score was based on the developer's expertise with an objective to improve (i) bug assignment and (ii) reduce the bug tossing length. Such architecture has an application in software bug triaging frameworks.

[1]  Per Runeson,et al.  A replicated study on duplicate detection: using apache lucene to search among Android defects , 2014, ESEM '14.

[2]  Anh Tuan Nguyen,et al.  Topic-based, time-aware bug assignment , 2014, SOEN.

[3]  David Broman,et al.  Automated bug assignment: Ensemble-based machine learning in large scale industrial contexts , 2016, Empirical Software Engineering.

[4]  Gerardo Canfora,et al.  Who is going to mentor newcomers in open source projects? , 2012, SIGSOFT FSE.

[5]  Brad A. Myers,et al.  A Linguistic Analysis of How People Describe Software Problems , 2006, Visual Languages and Human-Centric Computing (VL/HCC'06).

[6]  Tao Zhang,et al.  Towards Semi-automatic Bug Triage and Severity Prediction Based on Topic Model and Multi-feature of Bug Reports , 2014, 2014 IEEE 38th Annual Computer Software and Applications Conference.

[7]  Tao Xie,et al.  Software intelligence: the future of mining software engineering data , 2010, FoSER '10.

[8]  Arpit Gupta,et al.  Samiksha: mining issue tracking system for contribution and performance assessment , 2013, ISEC.

[9]  Song Wang,et al.  FixerCache: unsupervised caching active developers for diverse bug triage , 2014, ESEM '14.

[10]  David Lo,et al.  Automated prediction of bug report priority using multi-factor analysis , 2014, Empirical Software Engineering.

[11]  Denys Poshyvanyk,et al.  Journal of Software Maintenance and Evolution: Research and Practice Assigning Change Requests to Software Developers , 2022 .

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

[13]  Ahmed E. Hassan,et al.  Towards improving statistical modeling of software engineering data: think locally, act globally! , 2015, Empirical Software Engineering.

[14]  Ahmed Tamrawi,et al.  Fuzzy set and cache-based approach for bug triaging , 2011, ESEC/FSE '11.

[15]  Song Wang,et al.  KSAP: An approach to bug report assignment using KNN search and heterogeneous proximity , 2016, Inf. Softw. Technol..

[16]  Chisu Wu,et al.  A Survey on Mining Software Repositories , 2012, IEICE Trans. Inf. Syst..

[17]  Onaiza Maqbool,et al.  Bug Prioritization to Facilitate Bug Report Triage , 2012, Journal of Computer Science and Technology.

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

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

[20]  Siau-Cheng Khoo,et al.  Towards more accurate retrieval of duplicate bug reports , 2011, 2011 26th IEEE/ACM International Conference on Automated Software Engineering (ASE 2011).

[21]  G. Zayaraz,et al.  Bug triage in open source systems: a review , 2014 .

[22]  Uirá Kulesza,et al.  An empirical study of the integration time of fixed issues , 2017, Empirical Software Engineering.

[23]  Bernd Brügge,et al.  Bug report assignee recommendation using activity profiles , 2013, 2013 10th Working Conference on Mining Software Repositories (MSR).

[24]  Gail C. Murphy,et al.  Reducing the effort of bug report triage: Recommenders for development-oriented decisions , 2011, TSEM.

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

[26]  Philip J. Guo,et al.  "Not my bug!" and other reasons for software bug report reassignments , 2011, CSCW.

[27]  Thomas Zimmermann,et al.  Introduction to the Special Issue on Mining Software Repositories in 2010 , 2012, Empirical Software Engineering.

[28]  Iulian Neamtiu,et al.  The Journal of Systems and Software 85 (2012) 2275–2292 Contents lists available at SciVerse ScienceDirect The Journal of Systems and Software , 2022 .