Challenges and opportunities for software change request repositories: a systematic mapping study

Software maintenance starts as soon as the first artifacts are delivered and is essential for the success of the software. However, keeping maintenance activities and their related artifacts on track comes at a high cost. In this respect, change request (CR) repositories are fundamental in software maintenance. They facilitate the management of CRs and are also the central point to coordinate activities and communication among stakeholders. However, the benefits of CR repositories do not come without issues, and commonly occurring ones should be dealt with, such as the following: duplicate CRs, the large number of CRs to assign, or poorly described CRs. Such issues have led researchers to an increased interest in investigating CR repositories, by considering different aspects of software development and CR management. In this paper, we performed a systematic mapping study to characterize this research field. We analyzed 142 studies, which we classified in two ways. First, we classified the studies into different topics and grouped them into two dimensions: challenges and opportunities. Second, the challenge topics were classified in accordance with an existing taxonomy for information retrieval models. In addition, we investigated tools and services for CR management, to understand whether and how they addressed the topics identified. Copyright © 2013 John Wiley & Sons, Ltd.

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

[2]  Juergen Rilling,et al.  Mining Bug Repositories--A Quality Assessment , 2008, 2008 International Conference on Computational Intelligence for Modelling Control & Automation.

[3]  Naresh Kumar Nagwani,et al.  CLUBAS: An Algorithm and Java Based Tool for Software Bug Classification Using Bug Attributes Similarities , 2012 .

[4]  Thomas Zimmermann,et al.  Duplicate bug reports considered harmful … really? , 2008, 2008 IEEE International Conference on Software Maintenance.

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

[6]  Mary E. Helander,et al.  Using Software Repositories to Investigate Socio-technical Congruence in Development Projects , 2007, Fourth International Workshop on Mining Software Repositories (MSR'07:ICSE Workshops 2007).

[7]  Rongxin Wu,et al.  Dealing with noise in defect prediction , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[8]  Christoph Treude,et al.  A comparative exploration of FreeBSD bug lifetimes , 2010, 2010 7th IEEE Working Conference on Mining Software Repositories (MSR 2010).

[9]  Nicholas Jalbert,et al.  Automated duplicate detection for bug tracking systems , 2008, 2008 IEEE International Conference on Dependable Systems and Networks With FTCS and DCC (DSN).

[10]  Cheng-Zen Yang,et al.  Mining Co-location Relationships among Bug Reports to Localize Fault-Prone Modules , 2010, IEICE Trans. Inf. Syst..

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

[12]  Tao Xie,et al.  An approach to detecting duplicate bug reports using natural language and execution information , 2008, 2008 ACM/IEEE 30th International Conference on Software Engineering.

[13]  Giuliano Antoniol,et al.  Threats on building models from CVS and Bugzilla repositories: the Mozilla case study , 2007, CASCON.

[14]  Sunghun Kim,et al.  How long did it take to fix bugs? , 2006, MSR '06.

[15]  Lyndon Hiew,et al.  Assisted Detection of Duplicate Bug Reports , 2006 .

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

[17]  Pradeep Singh,et al.  Weight similarity measurement model based, object oriented approach for bug databases mining to detect similar and duplicate bugs , 2009, ICAC3 '09.

[18]  Miguel Goulão,et al.  Software Evolution Prediction Using Seasonal Time Analysis: A Comparative Study , 2012, 2012 16th European Conference on Software Maintenance and Reengineering.

[19]  Kimball A. Milton,et al.  The Casimir force: Feeling the heat , 2011 .

[20]  Jian Zhou,et al.  Where should the bugs be fixed? More accurate information retrieval-based bug localization based on bug reports , 2012, 2012 34th International Conference on Software Engineering (ICSE).

[21]  Daniel Lucrédio,et al.  The bug report duplication problem: an exploratory study , 2011, Software Quality Journal.

[22]  Thomas Zimmermann,et al.  Optimized assignment of developers for fixing bugs an initial evaluation for eclipse projects , 2009, 2009 3rd International Symposium on Empirical Software Engineering and Measurement.

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

[24]  T. Fotiadis,et al.  Information Systems Maintenance , 2002 .

[25]  Dane Bertram,et al.  Communication, Collaboration, and Bugs: The Social Nature of Issue Tracking in Software Engineering , 2009 .

[26]  Gail C. Murphy,et al.  Summarizing software artifacts: a case study of bug reports , 2010, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

[27]  Giuliano Antoniol,et al.  Identifying the starting impact set of a maintenance request: a case study , 2000, Proceedings of the Fourth European Conference on Software Maintenance and Reengineering.

[28]  Franz Wotawa,et al.  Impact analysis of SCRs using single and multi-label machine learning classification , 2010, ESEM '10.

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

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

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

[32]  Jian Zhou,et al.  Learning to rank duplicate bug reports , 2012, CIKM.

[33]  Tao Xie,et al.  Identifying security bug reports via text mining: An industrial case study , 2010, 2010 7th IEEE Working Conference on Mining Software Repositories (MSR 2010).

[34]  Philip J. Guo,et al.  Characterizing and predicting which bugs get reopened , 2012, 2012 34th International Conference on Software Engineering (ICSE).

[35]  U. Wagener,et al.  Maintaining a Competitive Edge , 1993 .

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

[37]  D. Dobrilovic,et al.  Identifying properties of software change request process: Qualitative investigation in very small software companies , 2011, 2011 IEEE 9th International Symposium on Intelligent Systems and Informatics.

[38]  Siau-Cheng Khoo,et al.  A discriminative model approach for accurate duplicate bug report retrieval , 2010, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

[39]  Jonathan I. Maletic,et al.  Journal of Software Maintenance and Evolution: Research and Practice Survey a Survey and Taxonomy of Approaches for Mining Software Repositories in the Context of Software Evolution , 2022 .

[40]  Kevin Crowston,et al.  Coordination practices within FLOSS development teams: The bug fixing process , 2004, Computer Supported Acitivity Coordination.

[41]  Dane Bertram,et al.  Communication, collaboration, and bugs: the social nature of issue tracking in small, collocated teams , 2010, CSCW '10.

[42]  S. Verma,et al.  Predicting expert developers for newly reported bugs using frequent terms similarities of bug attributes , 2012, 2011 Ninth International Conference on ICT and Knowledge Engineering.

[43]  Ladan Tahvildari,et al.  A Comparative Study of the Performance of IR Models on Duplicate Bug Detection , 2012, 2012 16th European Conference on Software Maintenance and Reengineering.

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

[45]  Giuliano Antoniol,et al.  Trend Analysis and Issue Prediction in Large-Scale Open Source Systems , 2008, 2008 12th European Conference on Software Maintenance and Reengineering.

[46]  Les Gasser,et al.  Bug Report Networks: Varieties, Strategies, and Impacts in a F/OSS Development Community , 2004, MSR.

[47]  Serge Demeyer,et al.  Comparing Mining Algorithms for Predicting the Severity of a Reported Bug , 2011, 2011 15th European Conference on Software Maintenance and Reengineering.

[48]  Westley Weimer,et al.  Modeling bug report quality , 2007, ASE '07.

[49]  J G Reves,et al.  Feeling the heat. , 1997, Journal of cardiothoracic and vascular anesthesia.

[50]  Ken-ichi Matsumoto,et al.  Locating Source Code to Be Fixed Based on Initial Bug Reports - A Case Study on the Eclipse Project , 2012, 2012 Fourth International Workshop on Empirical Software Engineering in Practice.

[51]  Gerardo Canfora,et al.  Impact analysis by mining software and change request repositories , 2005, 11th IEEE International Software Metrics Symposium (METRICS'05).

[52]  Ashish Sureka,et al.  Linguistic analysis of bug report titles with respect to the dimension of bug importance , 2010, Bangalore Compute Conf..

[53]  Anh Tuan Nguyen,et al.  Multi-layered approach for recovering links between bug reports and fixes , 2012, SIGSOFT FSE.

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

[55]  Tao Zhang,et al.  A Bug Rule Based Technique with Feedback for Classifying Bug Reports , 2011, 2011 IEEE 11th International Conference on Computer and Information Technology.

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

[57]  Mladen A. Vouk,et al.  On predicting the time taken to correct bug reports in open source projects , 2009, 2009 IEEE International Conference on Software Maintenance.

[58]  Peter Göhner,et al.  Mining software code repositories and bug databases using survival analysis models , 2008, ESEM '08.

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

[60]  Ho-Won Jung,et al.  Modeling change requests due to faults in a large-scale telecommunication system , 2004, J. Syst. Softw..

[61]  Pierre Baldi,et al.  Mining the coherence of GNOME bug reports with statistical topic models , 2009, 2009 6th IEEE International Working Conference on Mining Software Repositories.

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

[63]  David Lo,et al.  Improved Duplicate Bug Report Identification , 2012, 2012 16th European Conference on Software Maintenance and Reengineering.

[64]  Javed Ferzund,et al.  Automated Change Request Triage Using Alpha Frequency Matrix , 2011, 2011 Frontiers of Information Technology.

[65]  Uzma Raja,et al.  All complaints are not created equal: text analysis of open source software defect reports , 2012, Empirical Software Engineering.

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

[67]  Qi Li,et al.  "Is It Really a Defect?" An Empirical Study on Measuring and Improving the Process of Software Defect Reporting , 2011, 2011 International Symposium on Empirical Software Engineering and Measurement.

[68]  Harald C. Gall,et al.  Interactive views for analyzing problem reports , 2009, 2009 IEEE International Conference on Software Maintenance.

[69]  Massimiliano Di Penta,et al.  An approach to classify software maintenance requests , 2002, International Conference on Software Maintenance, 2002. Proceedings..

[70]  Silvio Romero de Lemos Meira,et al.  Towards understanding software change request assignment: a survey with practitioners , 2013, EASE '13.

[71]  Tao Zhang,et al.  How to Recommend Appropriate Developers for Bug Fixing? , 2012, 2012 IEEE 36th Annual Computer Software and Applications Conference.

[72]  Thomas J. Ostrand,et al.  \{PROMISE\} Repository of empirical software engineering data , 2007 .

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

[74]  Anderson Santana de Oliveira,et al.  Comparative Analysis of Clustering Algorithms Applied to the Classification of Bugs , 2012, ICONIP.

[75]  Thomas Zimmermann,et al.  Extracting structural information from bug reports , 2008, MSR '08.

[76]  Thomas Zimmermann,et al.  What Makes a Good Bug Report? , 2010, IEEE Trans. Software Eng..

[77]  Christian Del Rosso,et al.  Journal of Software Maintenance and Evolution: Research and Practice Comprehend and Analyze Knowledge Networks to Improve Software Evolution , 2022 .

[78]  Lucas D. Panjer Predicting Eclipse Bug Lifetimes , 2007, Fourth International Workshop on Mining Software Repositories (MSR'07:ICSE Workshops 2007).

[79]  K. K. Chaturvedi,et al.  Determining Bug severity using machine learning techniques , 2012, 2012 CSI Sixth International Conference on Software Engineering (CONSEG).

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

[81]  Srini Ramaswamy,et al.  A Dynamic Approach to Software Bug Estimation , 2007, SCSS.

[82]  Catherine Stringfellow,et al.  Software Defect Data and Predictability for Testing Schedules , 2006, SEKE.

[83]  Gerardo Canfora,et al.  Fine grained indexing of software repositories to support impact analysis , 2006, MSR '06.

[84]  Per Runeson,et al.  Detection of Duplicate Defect Reports Using Natural Language Processing , 2007, 29th International Conference on Software Engineering (ICSE'07).

[85]  Phongphun Kijsanayothin,et al.  On modeling software defect repair time , 2009, Empirical Software Engineering.

[86]  Evelyn Moritz Case study: How analysis of customer found defects can be used by system test to improve quality , 2009, 2009 31st International Conference on Software Engineering - Companion Volume.

[87]  Elaine J. Weyuker,et al.  A Tool for Mining Defect-Tracking Systems to Predict Fault-Prone Files , 2004, MSR.

[88]  Harald C. Gall,et al.  Time variance and defect prediction in software projects , 2011, Empirical Software Engineering.

[89]  Kai Petersen,et al.  Systematic Mapping Studies in Software Engineering , 2008, EASE.

[90]  Bogdan Dit,et al.  Integrated impact analysis for managing software changes , 2012, 2012 34th International Conference on Software Engineering (ICSE).

[91]  Silvio Romero de Lemos Meira,et al.  A Visual Bug Report Analysis and Search Tool , 2010, SEKE.

[92]  Andreas Zeller,et al.  How Long Will It Take to Fix This Bug? , 2007, Fourth International Workshop on Mining Software Repositories (MSR'07:ICSE Workshops 2007).

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

[94]  Premkumar T. Devanbu,et al.  Fair and balanced?: bias in bug-fix datasets , 2009, ESEC/FSE '09.

[95]  Hee Beng Kuan Tan,et al.  Has this bug been reported? , 2012, 2013 20th Working Conference on Reverse Engineering (WCRE).

[96]  Daniel M. Germán,et al.  Towards a simplification of the bug report form in eclipse , 2008, MSR '08.

[97]  Gerardo Canfora,et al.  Supporting change request assignment in open source development , 2006, SAC.

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

[99]  Bora Caglayan,et al.  Issue ownership activity in two large software projects , 2012, SOEN.

[100]  Gail C. Murphy,et al.  Automatic categorization of bug reports using latent Dirichlet allocation , 2012, ISEC.

[101]  Les Gasser,et al.  Negotiation and the coordination of information and activity in distributed software problem management , 2005, GROUP.

[102]  Thomas M. Pigoski Practical Software Maintenance: Best Practices for Managing Your Software Investment , 1996 .

[103]  Bojan Cukic,et al.  Detecting bug duplicate reports through local references , 2011, Promise '11.

[104]  Tim Menzies,et al.  Automated severity assessment of software defect reports , 2008, 2008 IEEE International Conference on Software Maintenance.

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

[106]  Ye Yang,et al.  Data Unpredictability in Software Defect-Fixing Effort Prediction , 2010, 2010 10th International Conference on Quality Software.

[107]  H. Keith Edwards,et al.  System Utilization and Changes in Implemented Information Systems: A Case Study , 2006, IMECS.

[108]  Carlos Jensen,et al.  Coping with duplicate bug reports in free/open source software projects , 2011, 2011 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC).

[109]  Hung Viet Nguyen,et al.  A topic-based approach for narrowing the search space of buggy files from a bug report , 2011, 2011 26th IEEE/ACM International Conference on Automated Software Engineering (ASE 2011).

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

[111]  Serge Demeyer,et al.  Filtering Bug Reports for Fix-Time Analysis , 2012, 2012 16th European Conference on Software Maintenance and Reengineering.

[112]  L. Erlikh,et al.  Leveraging legacy system dollars for e-business , 2000 .

[113]  Reidar Conradi,et al.  An Empirical Study of Software Changes in Statoil ASA - Origin, Priority Level and Relation to Component Size , 2006, 2006 International Conference on Software Engineering Advances (ICSEA'06).

[114]  Gail C. Murphy,et al.  Determining Implementation Expertise from Bug Reports , 2007, Fourth International Workshop on Mining Software Repositories (MSR'07:ICSE Workshops 2007).

[115]  Jian Sun Why are Bug Reports Invalid? , 2011, 2011 Fourth IEEE International Conference on Software Testing, Verification and Validation.

[116]  Dirk Husemann,et al.  Automatic Classification of Change Requests for Improved IT Service Quality , 2011, 2011 Annual SRII Global Conference.

[117]  Mary Shaw,et al.  Software Engineering Body of Knowledge (SWEBOK) , 2001, ICSE.

[118]  Gerardo Canfora,et al.  A Taxonomy of Information Retrieval Models and Tools , 2004 .

[119]  Ashish Sureka,et al.  Detecting Duplicate Bug Report Using Character N-Gram-Based Features , 2010, 2010 Asia Pacific Software Engineering Conference.

[120]  Michael W. Godfrey,et al.  A Market-Based Bug Allocation Mechanism Using Predictive Bug Lifetimes , 2012, 2012 16th European Conference on Software Maintenance and Reengineering.

[121]  Richard E. Fairley,et al.  Guide to the Software Engineering Body of Knowledge (SWEBOK(R)): Version 3.0 , 2014 .

[122]  Iulian Neamtiu,et al.  Bug-fix time prediction models: can we do better? , 2011, MSR '11.

[123]  Ken-ichi Matsumoto,et al.  An analysis method for improving a bug modification process in open source software development , 2009, IWPSE-Evol '09.

[124]  Bart Goethals,et al.  Predicting the severity of a reported bug , 2010, 2010 7th IEEE Working Conference on Mining Software Repositories (MSR 2010).

[125]  Deqing Wang,et al.  Predicting Bugs' Components via Mining Bug Reports , 2012, J. Softw..

[126]  Gail E. Kaiser,et al.  BUGMINER: Software Reliability Analysis Via Data Mining of Bug Reports , 2011, SEKE.

[127]  Franz Wotawa,et al.  Automatic Classification of Software Change Request Using Multi-label Machine Learning Methods , 2009, 2009 33rd Annual IEEE Software Engineering Workshop.

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

[129]  Srini Ramaswamy,et al.  Field weighting for automatic bug triaging systems , 2012, 2012 IEEE International Conference on Systems, Man, and Cybernetics (SMC).

[130]  Yixin Chen,et al.  Clustering of Defect Reports Using Graph Partitioning Algorithms , 2009, SEKE.

[131]  Qinbao Song,et al.  Software defect association mining and defect correction effort prediction , 2006, IEEE Transactions on Software Engineering.

[132]  Liu Yu,et al.  Knowledge representation of software faults based on open bug repository , 2010, 2010 International Conference On Computer Design and Applications.

[133]  Mika Mäntylä,et al.  Survey Reproduction of Defect Reporting in Industrial Software Development , 2011, 2011 International Symposium on Empirical Software Engineering and Measurement.

[134]  Daniel M. Germán,et al.  Perspectives on bugs in the Debian bug tracking system , 2010, 2010 7th IEEE Working Conference on Mining Software Repositories (MSR 2010).

[135]  E. Burch,et al.  Modeling software maintenance requests: a case study , 1997, 1997 Proceedings International Conference on Software Maintenance.

[136]  Israel Herraiz A statistical examination of the evolution and properties of libre software , 2009, 2009 IEEE International Conference on Software Maintenance.

[137]  Mario Linares Vásquez,et al.  Triaging incoming change requests: Bug or commit history, or code authorship? , 2012, 2012 28th IEEE International Conference on Software Maintenance (ICSM).

[138]  M. Kholief,et al.  Bug fix-time prediction model using naïve Bayes classifier , 2012, 2012 22nd International Conference on Computer Theory and Applications (ICCTA).

[139]  Predicting Defect Types in Software Projects , 2009 .

[140]  Marco Torchiano,et al.  Impact analysis by means of unstructured knowledge in the context of bug repositories , 2010, ESEM '10.

[141]  Denys Poshyvanyk,et al.  Integrating conceptual and logical couplings for change impact analysis in software , 2013, Empirical Software Engineering.

[142]  Phillip A. Laplante,et al.  Testing software without requirements: using development artifacts to develop test cases , 2006, Innovations in Systems and Software Engineering.

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

[144]  Gail C. Murphy,et al.  Coping with an open bug repository , 2005, eclipse '05.

[145]  Uzma Raja,et al.  Modeling software evolution defects: a time series approach , 2009, J. Softw. Maintenance Res. Pract..

[146]  Ladan Tahvildari,et al.  An effort prediction framework for software defect correction , 2010, Inf. Softw. Technol..

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

[148]  Thomas Zimmermann,et al.  Information needs in bug reports: improving cooperation between developers and users , 2010, CSCW '10.

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

[150]  Foutse Khomh,et al.  Is it a bug or an enhancement?: a text-based approach to classify change requests , 2008, CASCON '08.

[151]  Xiaolong Zheng,et al.  Modeling open source software bugs with complex networks , 2010, Proceedings of 2010 IEEE International Conference on Service Operations and Logistics, and Informatics.