Embrace your issues: compassing the software engineering landscape using bug reports

Software developers in large projects work in complex information landscapes, and staying on top of all relevant software artifacts is challenging. As software systems often evolve for years, a high number of issue reports is typically managed during the lifetime of a system. Efficient management of incoming issue requires successful navigation of the information landscape. In our work, we address two important work tasks involved in issue management: Issue Assignment (IA) and Change Impact Analysis (CIA). IA is the early task of allocating an issue report to a development team. CIA deals with identifying how source code changes affect the software system, a fundamental activity in safety-critical development. Our solution approach is to support navigation, both among development teams and software artifacts, based on information available in historical issue reports. We present how we apply techniques from machine learning and information retrieval to develop recommendation systems. Finally, we report intermediate results from two controlled experiments and an industrial case study.

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

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

[3]  Tony Gorschek,et al.  Challenges and practices in aligning requirements with verification and validation: a case study of six companies , 2013, Empirical Software Engineering.

[4]  Simon Brown,et al.  Overview of IEC 61508. Design of electrical/electronic/programmable electronic safety-related systems , 2000 .

[5]  Pamela J. Wisniewski,et al.  When more is too much: Operationalizing technology overload and exploring its impact on knowledge worker productivity , 2010, Comput. Hum. Behav..

[6]  Janice Singer,et al.  Hipikat: a project memory for software development , 2005, IEEE Transactions on Software Engineering.

[7]  Michele Banko,et al.  Scaling to Very Very Large Corpora for Natural Language Disambiguation , 2001, ACL.

[8]  Thomas Zimmermann,et al.  Towards the next generation of bug tracking systems , 2008, 2008 IEEE Symposium on Visual Languages and Human-Centric Computing.

[9]  Björn Regnell,et al.  Can We Beat the Complexity of Very Large-Scale Requirements Engineering? , 2008, REFSQ.

[10]  Carl K. Chang,et al.  Event-Based Traceability for Managing Evolutionary Change , 2003, IEEE Trans. Software Eng..

[11]  David Broman,et al.  Towards Automated Anomaly Report Assignment in Large Complex Systems Using Stacked Generalization , 2012, 2012 IEEE Fifth International Conference on Software Testing, Verification and Validation.

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

[13]  Kenneth Magel,et al.  Efficient Bug Triaging Using Text Mining , 2013, J. Softw..

[14]  Markus Borg,et al.  Enabling traceability reuse for impact analyses: A feasibility study in a safety context , 2013, 2013 7th International Workshop on Traceability in Emerging Forms of Software Engineering (TEFSE).

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

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

[17]  Martin P. Robillard,et al.  Recommendation Systems for Software Engineering , 2010, IEEE Software.

[18]  Joseph Sill,et al.  Feature-Weighted Linear Stacking , 2009, ArXiv.

[19]  Per Runeson,et al.  Changes, Evolution, and Bugs - Recommendation Systems for Issue Management , 2014, Recommendation Systems in Software Engineering.

[20]  Robert Feldt Do System Test Cases Grow Old? , 2014, 2014 IEEE Seventh International Conference on Software Testing, Verification and Validation.

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

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

[23]  Per Runeson,et al.  IR in Software Traceability: From a Bird's Eye View , 2013, 2013 ACM / IEEE International Symposium on Empirical Software Engineering and Measurement.

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

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