ABSTRACT
Identifying and fixing of defects is part of software maintenance activities. However, due to tight budget and schedule, software development teams may not resolve all the existing bugs in the issue tracking systems. The trade-off between the short-term benefit of postponing bug fixing activities and long-term consequence of delaying those activities is interpreted as defect debt. The accumulation of defect debt in the issue tracking system might cause system bankruptcy. Therefore, there is a necessity for software project managers to measure and monitor defect debts. In this study, we categorized the bugs into regular bugs and debt prone bugs and employed the historical data from regular bugs to train a prediction model for estimating the principal for debt prone bugs. The principal for the regular bug is equivalent to a standard amount of time to fix them. There are studies in the literature that predict bug fixing time as a classification. We proposed KNN-regression to predict the standard time for bug fixing time (principal). We performed an empirical study on both commercial and open source projects to investigate the feasibility of our model. The results showed that KNN-regression outperformed the simple linear regression with the predictive power (R2) ranges between 74% to 85 %.
- S. Akbarinasaji. Toward measuring defect debt and developing a recommender system for their prioritization. In Proceedings of the 13th International Doctoral Symposium on Empirical Software Engineering, pages 1--6, 2015.Google Scholar
- N. S. Altman. An introduction to kernel and nearest-neighbor nonparametric regression. The American Statistician, 46(3):175--185, 1992.Google ScholarCross Ref
- N. S. Alves, T. S. Mendes, M. G. de Mendonça, R. O. Spínola, F. Shull, and C. Seaman. Identification and management of technical debt: A systematic mapping study. Information and Software Technology, 70:100--121, 2016. Google ScholarDigital Library
- A. Ampatzoglou, A. Ampatzoglou, A. Chatzigeorgiou, and P. Avgeriou. The financial aspect of managing technical debt: A systematic literature review. Information and Software Technology, 64:52--73, 2015. Google ScholarDigital Library
- P. Anbalagan and M. Vouk. On predicting the time taken to correct bug reports in open source projects. In Software Maintenance, 2009. ICSM 2009. IEEE International Conference on, pages 523--526. IEEE, 2009.Google ScholarCross Ref
- K. Beyer, J. Goldstein, R. Ramakrishnan, and U. Shaft. When is âĂIJnearest neighborâĂİ meaningful? In Database Theory - ICDT '99, pages 217--235. Springer, 1999. Google ScholarDigital Library
- N. Brown, Y. Cai, Y. Guo, R. Kazman, M. Kim, P. Kruchten, E. Lim, A. MacCormack, R. Nord, I. Ozkaya, et al. Managing technical debt in software-reliant systems. In Proceedings of the FSE/SDP workshop on Future of software engineering research, pages 47--52. ACM, 2010. Google ScholarDigital Library
- W. Cunningham. The wycash portfolio management system. ACM SIGPLAN OOPS Messenger, 4(2):29--30, 1993. Google ScholarDigital Library
- B. Curtis, J. Sappidi, and A. Szynkarski. Estimating the size, cost, and types of technical debt. In Proceedings of the Third International Workshop on Managing Technical Debt, pages 49--53. IEEE Press, 2012. Google ScholarDigital Library
- R. J. Eisenberg. A threshold based approach to technical debt. ACM SIGSOFT Software Engineering Notes, 37(2):1--6, 2012. Google ScholarDigital Library
- D. Falessi and A. Reichel. Towards an open-source tool for measuring and visualizing the interest of technical debt. In Managing Technical Debt (MTD), 2015 IEEE 7th International Workshop on, pages 1--8. IEEE, 2015.Google ScholarCross Ref
- M. Fowler. Technical debt. Martin Fowler, 2009.Google Scholar
- A. Gelman and J. Hill. Data analysis using regression and multilevel/hierarchical models. Cambridge University Press, 2006.Google ScholarCross Ref
- E. Giger, M. Pinzger, and H. Gall. Predicting the fix time of bugs. In Proceedings of the 2nd International Workshop on Recommendation Systems for Software Engineering, pages 52--56. ACM, 2010. Google ScholarDigital Library
- Y. Guo and C. Seaman. A portfolio approach to technical debt management. In Proceedings of the 2nd Workshop on Managing Technical Debt, pages 31--34. ACM, 2011. Google ScholarDigital Library
- M. Habayeb. On the use of hidden markov model to predict the time to fix bugs. Master's thesis, Ryerson University, July 2015.Google Scholar
- P. Hooimeijer and W. Weimer. Modeling bug report quality. In Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering, pages 34--43. ACM, 2007. Google ScholarDigital Library
- A. Lamkanfi and S. Demeyer. Filtering bug reports for fix-time analysis. In Software Maintenance and Reengineering (CSMR), 2012 16th European Conference on, pages 379--384. IEEE, 2012. Google ScholarDigital Library
- J. Leon. The true cost of a software bug part one, 2015. {Online; accessed 28-December-2015}.Google Scholar
- J.-L. Letouzey. The sqale method for evaluating technical debt. In Proceedings of the Third International Workshop on Managing Technical Debt, pages 31--36. IEEE Press, 2012. Google ScholarDigital Library
- Z. Li, P. Avgeriou, and P. Liang. A systematic mapping study on technical debt and its management. Journal of Systems and Software, 101:193--220, 2015. Google ScholarDigital Library
- L. Marks, Y. Zou, and A. E. Hassan. Studying the fix-time for bugs in large open source projects. In Proceedings of the 7th International Conference on Predictive Models in Software Engineering, page 11. ACM, 2011. Google ScholarDigital Library
- S. McConnell. Technical debt. Software Best Practices, Nov, 2007.Google Scholar
- R. L. Nord, I. Ozkaya, P. Kruchten, and M. Gonzalez-Rojas. In search of a metric for managing architectural technical debt. In Software Architecture (WICSA) and European Conference on Software Architecture (ECSA), 2012 Joint Working IEEE/IFIP Conference on, pages 91--100. IEEE, 2012. Google ScholarDigital Library
- A. Nugroho, J. Visser, and T. Kuipers. An empirical model of technical debt and interest. In Proceedings of the 2nd Workshop on Managing Technical Debt, pages 1--8. ACM, 2011. Google ScholarDigital Library
- L. D. Panjer. Predicting eclipse bug lifetimes. In Proceedings of the Fourth International Workshop on mining software repositories, page 29. IEEE Computer Society, 2007. Google ScholarDigital Library
- C. Seaman and Y. Guo. Measuring and monitoring technical debt. Advances in Computers, 82:25--46, 2011.Google ScholarCross Ref
- C. Seaman, Y. Guo, C. Izurieta, Y. Cai, N. Zazworka, F. Shull, and A. Vetrò. Using technical debt data in decision making: Potential decision approaches. In Proceedings of the Third International Workshop on Managing Technical Debt, pages 45--48. IEEE Press, 2012. Google ScholarDigital Library
- tcagley. Technical debt: Can technical debt be measured?, 2014. {Online; accessed 29-Jan-2016}.Google Scholar
- E. Tom, A. Aurum, and R. Vidgen. An exploration of technical debt. Journal of Systems and Software, 86(6):1498--1516, 2013. Google ScholarDigital Library
- J. Xuan, Y. Hu, and H. Jiang. Debt-prone bugs: technical debt in software maintenance. International Journal of Advancements in Computing Technology 2012a, 4(19):453--461, 2012.Google Scholar
- N. Zazworka, C. Seaman, and F. Shull. Prioritizing design debt investment opportunities. In Proceedings of the 2nd Workshop on Managing Technical Debt, pages 39--42. ACM, 2011. Google ScholarDigital Library
- H. Zhang, L. Gong, and S. Versteeg. Predicting bug-fixing time: an empirical study of commercial software projects. In Proceedings of the 2013 International Conference on Software Engineering, pages 1042--1051. IEEE Press, 2013. Google ScholarDigital Library
Index Terms
- Measuring the principal of defect debt
Recommendations
Sell-Side Debt Analysts and Debt Market Efficiency
We explore sell-side debt analysts’ contributions to the efficiency of securities markets. We document that debt returns lag equity returns less when debt research coverage exists, which is consistent with debt analysts facilitating the process by which ...
From lasagna to spaghetti, a decision model to manage defect debt
TechDebt '18: Proceedings of the 2018 International Conference on Technical DebtIn this paper, we propose a model that formalizes the role of software evolution in characterizing Technical Debt (TD) by defining a series of software product states, where each successive state represents an increased level of maintenance code churn, ...
Predicting bug-fixing time
We replicate the study on predicting the bug fixing time on Firefox.The result of replicated study is in consistence with the original study.Markov based model is developed to predict the number of resolved bugs.Monte Carlo simulation is used to predict ...
Comments