ABSTRACT
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.
- An, L., Khomh, F., and Adams, B. Supplementary Bug Fixes vs. Re-opened Bugs. In 2014 IEEE 14th International Working Conference on Source Code Analysis and Manipulation (sep 2014), IEEE, pp. 205--214. Google ScholarDigital Library
- Anvik, J., and Murphy, G. C. Reducing the effort of bug report triage. ACM Transactions on Software Engineering and Methodology 20, 3 (2011), 1--35. Google ScholarDigital Library
- Bhattacharya, P., and Neamtiu, I. Bug-fix time prediction models. Proceeding of the 8th working conference on Mining software repositories - MSR '11 (2011), 207. Google ScholarDigital Library
- Hata, H., Mizuno, O., and Kikuno, T. Bug prediction based on fine-grained module histories. In 2012 34th International Conference on Software Engineering (ICSE) (jun 2012), IEEE, pp. 200--210. Google ScholarDigital Library
- Hu, H., Zhang, H., Xuan, J., and Sun, W. Effective Bug Triage Based on Historical Bug-Fix Information. In 2014 IEEE 25th International Symposium on Software Reliability Engineering (nov 2014), IEEE, pp. 122--132. Google ScholarDigital Library
- Ihara, A., Kamei, Y., Monden, A., Ohira, M., Keung, J. W., Ubayashi, N., and Matsumoto, K.-I. An Investigation on Software Bug-Fix Prediction for Open Source Software Projects -- A Case Study on the Eclipse Project. 2012 19th Asia-Pacific Software Engineering Conference 2 (2012), 112--119. Google ScholarDigital Library
- Jihun Park, Miryung Kim, Ray, B., and Doo-Hwan Bae. An empirical study of supplementary bug fixes. In 2012 9th IEEE Working Conference on Mining Software Repositories (MSR) (jun 2012), IEEE, pp. 40--49. Google ScholarDigital Library
- Lamkanfi, A., Perez, J., and Demeyer, S. The Eclipse and Mozilla defect tracking dataset: A genuine dataset for mining bug information. In 2013 10th Working Conference on Mining Software Repositories (MSR) (may 2013), IEEE, pp. 203--206. Google ScholarDigital Library
- Li, B., Shen, B., Wang, J., Chen, Y., Zhang, T., and Wang, J. A Scenario-Based Approach to Predicting Software Defects Using Compressed C4.5 Model. 2014 IEEE 38th Annual Computer Software and Applications Conference (2014), 406--415. Google ScholarDigital Library
- Mann, H. B., and Whitney, D. R. On a Test of Whether one of Two Random Variables is Stochastically Larger than the Other. The Annals of Mathematical Statistics 18, 1 (mar 1947), 50--60.Google ScholarCross Ref
- Marks, L., Zou, Y., and Hassan, A. E. Studying the fix-time for bugs in large open source projects. Proceedings of the 7th International Conference on Predictive Models in Software Engineering - Promise '11 (2011), 1--8. Google ScholarDigital Library
- Pan, J., and Mao, X. An Empirical Study on Interaction Factors Inuencing Bug Reopenings. In 2014 21st Asia-Pacific Software Engineering Conference (dec 2014), vol. 2, IEEE, pp. 39--42. Google ScholarDigital Library
- Premraj, R., and Herzig, K. Network Versus Code Metrics to Predict Defects: A Replication Study. 2011 International Symposium on Empirical Software Engineering and Measurement (2011), 215--224. Google ScholarDigital Library
- Saha, R. K., Khurshid, S., and Perry, D. E. An empirical study of long lived bugs. In 2014 Software Evolution Week - IEEE Conference on Software Maintenance, Reengineering, and Reverse Engineering (CSMR-WCRE) (feb 2014), IEEE, pp. 144--153.Google ScholarCross Ref
- Shihab, E., Ihara, A., Kamei, Y., Ibrahim, W. M., Ohira, M., Adams, B., Hassan, A. E., and Matsumoto, K.-i. Studying re-opened bugs in open source software. Empirical Software Engineering 18, 5 (oct 2013), 1005--1042.Google ScholarCross Ref
- Souza, R., Chavez, C., and Bittencourt, R. a. Do Rapid Releases Affect Bug Reopening? A Case Study of Firefox. 2014 Brazilian Symposium on Software Engineering (2014), 31--40. Google ScholarDigital Library
- Weiss, C., Premraj, R., Zimmermann, T., and Zeller, A. How Long Will It Take to Fix This Bug? In Fourth International Workshop on Mining Software Repositories (MSR'07:ICSE Workshops 2007) (may 2007), no. 2, IEEE, pp. 1--1. Google ScholarDigital Library
- Xin Xia, Lo, D., Xinyu Wang, Xiaohu Yang, Shanping Li, and Jianling Sun. A Comparative Study of Supervised Learning Algorithms for Re-opened Bug Prediction. In 2013 17th European Conference on Software Maintenance and Reengineering (mar 2013), IEEE, pp. 331--334. Google ScholarDigital Library
- Zeng, H., and Rine, D. Estimation of software defects fix effort using neural networks. Proceedings - International Computer Software and Applications Conference 2 (2004), 20--21. Google ScholarDigital Library
- Zhang, H., Gong, L., and Versteeg, S. Predicting bug-fixing time: An empirical study of commercial software projects. 2013 35th International Conference on Software Engineering (ICSE) (2013), 1042--1051. Google ScholarDigital Library
- Zhang, Y., Shen, B., and Chen, Y. Mining Developer Mailing List to Predict Software Defects. In 2014 21st Asia-Pacific Software Engineering Conference (dec 2014), IEEE, pp. 383--390. Google ScholarDigital Library
- Zhou, J., Zhang, H., and Lo, D. Where Should the Bugs Be Fixed? Proceedings of the 34th International Conference on Software Engineering (ICSE'12) (2012), 14--24. Google ScholarDigital Library
- Zimmermann, T., Nagappan, N., Guo, P. J., and Murphy, B. Characterizing and predicting which bugs get reopened. In 2012 34th International Conference on Software Engineering (ICSE) (jun 2012), IEEE, pp. 1074--1083. Google ScholarDigital Library
- Zimmermann, T., Premraj, R., Bettenburg, N., Just, S., Schroter, A., and Weiss, C. What Makes a Good Bug Report? IEEE Transactions on Software Engineering 36, 5 (sep 2010), 618--643. Google ScholarDigital Library
Index Terms
- An empirical analysis of reopened bugs based on open source projects
Recommendations
Studying the fix-time for bugs in large open source projects
Promise '11: Proceedings of the 7th International Conference on Predictive Models in Software EngineeringBackground: Bug fixing lies at the core of most software maintenance efforts. Most prior studies examine the effort needed to fix a bug (fix-effort). However, the effort needed to fix a bug may not correlate with the calendar time needed to fix it (fix-...
Revisiting reopened bugs in open source software systems
AbstractReopened bugs can degrade the overall quality of a software system since they require unnecessary rework by developers. Moreover, reopened bugs also lead to a loss of trust in the end-users regarding the quality of the software. Thus, predicting ...
Characterizing duplicate bugs: Perceptions of practitioners and an empirical analysis
AbstractBug handling is an essential part of the software development process. Ideally, in a bug‐tracking system, bugs are reported, fixed, verified, and closed. In some cases, bugs have to be reopened mostly due to an incorrect fix. However, instead of ...
Our study investigates the difference between unique and duplicate bugs and further categorizes duplicates into Master‐Unresolved (Category‐1) and Missed‐Reopen (Category‐2) bugs. Through investigation of bug reports, we found that duplicates are up to ...
Comments