Bug triage in open source systems: a review

Open source software development is a collaborative effort among several software developers dispersed across multiple geographical locations. The interaction among the software developers is asynchronous in nature. The participation of software developers in the software development is entirely voluntary. The set of software developers involved in the project is volatile. The expertise of the software developer may vary with time. Given this scenario, the process of bug triaging is all the more complex in open source software development. On an average, it takes 40 days to assign a bug to the correct software developer. It takes another 100 days to reassign to a new software developer if the first software developer is unable to fix the issue. This necessitates for a semi-automated support for bug triaging. To this end, this paper highlights the state-of-art techniques employed in bug triaging in open source environment as well as in enterprise environment.

[1]  Franz Wotawa,et al.  Automatic Software Bug Triage System (BTS) Based on Latent Semantic Indexing and Support Vector Machine , 2009, 2009 Fourth International Conference on Software Engineering Advances.

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

[3]  Louise E. Moser,et al.  Reliable Ticket Routing in Expert Networks , 2012 .

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

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

[6]  Shadi Banitaan,et al.  TRAM: An approach for assigning bug reports using their Metadata , 2013, 2013 Third International Conference on Communications and Information Technology (ICCIT).

[7]  Michael W. Godfrey,et al.  A bug you like: A framework for automated assignment of bugs , 2009, 2009 IEEE 17th International Conference on Program Comprehension.

[8]  Louise E. Moser,et al.  Generative models for ticket resolution in expert networks , 2010, KDD.

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

[10]  Philip J. Guo,et al.  Characterizing and predicting which bugs get fixed: an empirical study of Microsoft Windows , 2010, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

[11]  Grzegorz Chrupala,et al.  Learning from evolving data streams: online triage of bug reports , 2012, EACL.

[12]  Günter Neumann,et al.  Assisting bug Triage in Large Open Source Projects Using Approximate String Matching , 2012, ICSEA 2012.

[13]  André van der Hoek,et al.  PorchLight: A tag-based approach to bug triaging , 2013, 2013 35th International Conference on Software Engineering (ICSE).

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

[15]  Christian Bird,et al.  Empirical software engineering at Microsoft Research , 2011, CSCW.

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

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

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

[19]  Yi Chen,et al.  Assessing Expertise Awareness in Resolution Networks , 2010, 2010 International Conference on Advances in Social Networks Analysis and Mining.

[20]  Senthil Mani,et al.  Bug resolution catalysts: Identifying essential non-committers from bug repositories , 2013, 2013 10th Working Conference on Mining Software Repositories (MSR).

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

[22]  Yi Chen,et al.  Efficient ticket routing by resolution sequence mining , 2008, KDD.

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

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

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

[26]  Shenglong Tan,et al.  A Framework of Bug Reporting System Based on Keywords Extraction and Auction Algorithm , 2010, 2010 Fifth Annual ChinaGrid Conference.

[27]  Yi Chen,et al.  Content-Aware Resolution Sequence Mining for Ticket Routing , 2010, BPM.

[28]  He Jiang,et al.  Towards Training Set Reduction for Bug Triage , 2011, 2011 IEEE 35th Annual Computer Software and Applications Conference.

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

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

[31]  Ahmed Tamrawi,et al.  Fuzzy set-based automatic bug triaging: NIER track , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

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

[33]  Harald C. Gall,et al.  Tracking concept drift of software projects using defect prediction quality , 2009, 2009 6th IEEE International Working Conference on Mining Software Repositories.

[34]  Chao Liu,et al.  An Approach to Improving Bug Assignment with Bug Tossing Graphs and Bug Similarities , 2011, J. Softw..

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

[36]  Renata Teixeira,et al.  TroubleMiner: Mining network trouble tickets , 2009, 2009 IFIP/IEEE International Symposium on Integrated Network Management-Workshops.

[37]  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).

[38]  Tao Zhang,et al.  Utilizing a multi-developer network-based developer recommendation algorithm to fix bugs effectively , 2014, SAC.

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

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

[41]  Louise E. Moser,et al.  Understanding task-driven information flow in collaborative networks , 2012, WWW.

[42]  Harald C. Gall,et al.  Collaborative bug triaging using textual similarities and change set analysis , 2013, 2013 6th International Workshop on Cooperative and Human Aspects of Software Engineering (CHASE).

[43]  Ibrahim Aljarah,et al.  Selecting discriminating terms for bug assignment: a formal analysis , 2011, Promise '11.

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