FixerCache: unsupervised caching active developers for diverse bug triage

Context: Bug triage aims to recommend appropriate developers for new bugs in order to reduce time and effort in bug resolution. Most previous approaches for bug triage are supervised. Before recommending developers, these approaches need to learn developers' bug-fix preferences via building and training models using text-information of developers' historical bug reports. Goal: In this paper, we empirically address three limitations of supervised bug triage approaches and propose FixerCache, an unsupervised approach for bug triage by caching developers based on their activeness in components of products. Method: In FixerCache, each component of a product has a dynamic developer cache which contains prioritized developers according to developers' activeness scores. Given a new bug report, FixerCache recommends fixers with high activeness in developer cache to participate in fixing the new bug. Results: Results of experiments on four products from Eclipse and Mozilla show that FixerCache outperforms supervised bug triage approaches in both prediction accuracy and diversity. And it can achieve prediction accuracy up to 96.32% and diversity up to 91.67%, with top-10 recommendation list. Conclusions: FixerCache recommends fixers for new bugs based on developers' activeness in components of products with high prediction accuracy and diversity. Moreover, since FixerCache does not need to learn developers' bug-fix preferences through complex and time consuming processes, it could reduce bug triage time from hours of supervised approaches to seconds.

[1]  Song Wang,et al.  DevNet: Exploring Developer Collaboration in Heterogeneous Networks of Bug Repositories , 2013, 2013 ACM / IEEE International Symposium on Empirical Software Engineering and Measurement.

[2]  Cong Yu,et al.  It takes variety to make a world: diversification in recommender systems , 2009, EDBT '09.

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

[4]  David Lo,et al.  Accurate developer recommendation for bug resolution , 2013, 2013 20th Working Conference on Reverse Engineering (WCRE).

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

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

[7]  Sean M. McNee,et al.  Being accurate is not enough: how accuracy metrics have hurt recommender systems , 2006, CHI Extended Abstracts.

[8]  Thomas Zimmermann,et al.  Quality of bug reports in Eclipse , 2007, eclipse '07.

[9]  Ye Yang,et al.  An empirical study on identifying core developers using network analysis , 2012, EAST '12.

[10]  Thomas Zimmermann,et al.  What Makes a Good Bug Report? , 2008, IEEE Transactions on Software Engineering.

[11]  Jin Xu,et al.  A Topological Analysis of the Open Souce Software Development Community , 2005, Proceedings of the 38th Annual Hawaii International Conference on System Sciences.

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

[13]  Mi Zhang,et al.  Avoiding monotony: improving the diversity of recommendation lists , 2008, RecSys '08.

[14]  Jiawei Han,et al.  Data Mining: Concepts and Techniques , 2000 .

[15]  Ching-Yung Lin,et al.  On the quality of inferring interests from social neighbors , 2010, KDD.

[16]  Ye Yang,et al.  DRETOM: developer recommendation based on topic models for bug resolution , 2012, PROMISE '12.

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

[18]  Sean M. McNee,et al.  Accurate is not always good: How Accuracy Metrics have hurt Recommender Systems , 2006 .

[19]  Emerson R. Murphy-Hill,et al.  The design of bug fixes , 2013, 2013 35th International Conference on Software Engineering (ICSE).

[20]  Song Wang,et al.  Heterogeneous Network Analysis of Developer Contribution in Bug Repositories , 2013, 2013 International Conference on Cloud and Service Computing.

[21]  Zhongpeng Lin,et al.  An empirical study on bug assignment automation using Chinese bug data , 2009, 2009 3rd International Symposium on Empirical Software Engineering and Measurement.

[22]  Shing-Chi Cheung,et al.  Understanding a developer social network and its evolution , 2011, 2011 27th IEEE International Conference on Software Maintenance (ICSM).

[23]  Audris Mockus,et al.  Impact of Triage: A Study of Mozilla and Gnome , 2013, 2013 ACM / IEEE International Symposium on Empirical Software Engineering and Measurement.

[24]  อนิรุธ สืบสิงห์,et al.  Data Mining Practical Machine Learning Tools and Techniques , 2014 .

[25]  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.

[26]  Mouzhi Ge,et al.  Beyond accuracy: evaluating recommender systems by coverage and serendipity , 2010, RecSys '10.

[27]  Ian Witten,et al.  Data Mining , 2000 .

[28]  Philip S. Yu,et al.  Predicting trends in social networks via dynamic activeness model , 2013, CIKM.

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

[30]  Iulian Neamtiu,et al.  Fine-grained incremental learning and multi-feature tossing graphs to improve bug triaging , 2010, 2010 IEEE International Conference on Software Maintenance.

[31]  Guy Shani,et al.  A Survey of Accuracy Evaluation Metrics of Recommendation Tasks , 2009, J. Mach. Learn. Res..

[32]  Andreas Zeller,et al.  It's not a bug, it's a feature: How misclassification impacts bug prediction , 2013, 2013 35th International Conference on Software Engineering (ICSE).

[33]  Ian H. Witten,et al.  Data Mining: Practical Machine Learning Tools and Techniques, 3/E , 2014 .

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

[35]  Zarinah Mohd Kasirun,et al.  Why so complicated? Simple term filtering and weighting for location-based bug report assignment recommendation , 2013, 2013 10th Working Conference on Mining Software Repositories (MSR).

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