An empirical analysis of reopened bugs based on open source projects

Background: Bug fixing is a long-term and time-consuming activity. A software bug experiences a typical life cycle from newly reported to finally closed by developers, but it could be reopened afterwards for further actions due to reasons such as unclear description given by the bug reporter and developer negligence. Bug reopening is neither desirable nor could be completely avoided in practice, and it is more likely to bring unnecessary workloads to already-busy developers. Aims: To the best of our knowledge, there has been a little previous work on software bug reopening. In order to further study in this area, we perform an empirical analysis to provide a comprehensive understanding of this special area. Method: Based on four open source projects from Eclipse product family, they are CDT, JDT, PDE and Platform, we first quantitatively analyze reopened bugs from perspectives of proportion, impacts and time distribution. After initial exploration on their characteristics, we then qualitatively summarize root causes for bug reopening, this is carried out by investigating developer discussions recorded in Eclipse Bugzilla. Results: Results show that 6%--10% of total bugs will lead to reopening eventually. Over 93% of reopened bugs place serious influence on the normal operation of the system being developed. Several key reasons for bug reopening have been identified in our empirical study. Conclusions: Although reopened bugs have significant impacts on both end users and developers, it is quite possible to reduce bug reopening rate through the adoption of appropriate methods, such as promoting effective and efficient communication among bug reporters and developers, which is supported by empirical evidence in this study.

[1]  H. B. Mann,et al.  On a Test of Whether one of Two Random Variables is Stochastically Larger than the Other , 1947 .

[2]  David Lo,et al.  A Comparative Study of Supervised Learning Algorithms for Re-opened Bug Prediction , 2013, CSMR 2013.

[3]  Osamu Mizuno,et al.  Bug prediction based on fine-grained module histories , 2012, 2012 34th International Conference on Software Engineering (ICSE).

[4]  Akito Monden,et al.  An Investigation on Software Bug-Fix Prediction for Open Source Software Projects -- A Case Study on the Eclipse Project , 2012, 2012 19th Asia-Pacific Software Engineering Conference.

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

[6]  Sarfraz Khurshid,et al.  An empirical study of long lived bugs , 2014, 2014 Software Evolution Week - IEEE Conference on Software Maintenance, Reengineering, and Reverse Engineering (CSMR-WCRE).

[7]  Foutse Khomh,et al.  Supplementary Bug Fixes vs. Re-opened Bugs , 2014, 2014 IEEE 14th International Working Conference on Source Code Analysis and Manipulation.

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

[9]  Ying Zou,et al.  Studying the fix-time for bugs in large open source projects , 2011, Promise '11.

[10]  Serge Demeyer,et al.  The Eclipse and Mozilla defect tracking dataset: A genuine dataset for mining bug information , 2013, 2013 10th Working Conference on Mining Software Repositories (MSR).

[11]  Rahul Premraj,et al.  Network Versus Code Metrics to Predict Defects: A Replication Study , 2011, 2011 International Symposium on Empirical Software Engineering and Measurement.

[12]  Tao Zhang,et al.  A Scenario-Based Approach to Predicting Software Defects Using Compressed C4.5 Model , 2014, 2014 IEEE 38th Annual Computer Software and Applications Conference.

[13]  Roberto Almeida Bittencourt,et al.  Do Rapid Releases Affect Bug Reopening? A Case Study of Firefox , 2014, 2014 Brazilian Symposium on Software Engineering.

[14]  Xiaoguang Mao,et al.  An Empirical Study on Interaction Factors Influencing Bug Reopenings , 2014, 2014 21st Asia-Pacific Software Engineering Conference.

[15]  Liang Gong,et al.  Predicting bug-fixing time: An empirical study of commercial software projects , 2013, 2013 35th International Conference on Software Engineering (ICSE).

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

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

[18]  Ken-ichi Matsumoto,et al.  Studying re-opened bugs in open source software , 2012, Empirical Software Engineering.

[19]  C MurphyGail,et al.  Reducing the effort of bug report triage , 2011 .

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

[21]  Yu Zhang,et al.  Mining Developer Mailing List to Predict Software Defects , 2014, 2014 21st Asia-Pacific Software Engineering Conference.

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

[23]  Hui Zeng,et al.  Estimation of software defects fix effort using neural networks , 2004, Proceedings of the 28th Annual International Computer Software and Applications Conference, 2004. COMPSAC 2004..

[24]  Hao Hu,et al.  Effective Bug Triage Based on Historical Bug-Fix Information , 2014, 2014 IEEE 25th International Symposium on Software Reliability Engineering.

[25]  Miryung Kim,et al.  An empirical study of supplementary bug fixes , 2012, 2012 9th IEEE Working Conference on Mining Software Repositories (MSR).