Technical debt refers to the compromises made during software development that enable rapid delivery but may hurt the long-term health of a software system. Recently, forecasting technical debt has become a topic of interest to researchers and techniques for it were used successfully for mature software projects. This work aims at analyzing if existing techniques in forecasting technical debt are still applicable and effective for software projects with limited historical data. We have partially applied the methodology of a reference study, using the sliding-window method and various Machine Learning algorithms, including a boosting one, which was not used before for forecasting technical debt. These techniques were applied on a data set from three projects, 62% to 74% smaller than the one in the reference study. We have obtained comparable results, however, we observed a general inability of existing Machine Learning techniques of coping with small and irregular data sets. This research contributes to the ongoing effort to improve software maintainability and offers insights to practitioners on the methods for mitigating the adverse effects of technical debt. Our results partially replicated the original study’s, emphasizing the need for further research aimed at forecasting technical debt for software projects with minimal data available.

错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

Forecasting Technical Debt in Software Projects with Limited Historical Data

  • Oskar Picus

摘要

Technical debt refers to the compromises made during software development that enable rapid delivery but may hurt the long-term health of a software system. Recently, forecasting technical debt has become a topic of interest to researchers and techniques for it were used successfully for mature software projects. This work aims at analyzing if existing techniques in forecasting technical debt are still applicable and effective for software projects with limited historical data. We have partially applied the methodology of a reference study, using the sliding-window method and various Machine Learning algorithms, including a boosting one, which was not used before for forecasting technical debt. These techniques were applied on a data set from three projects, 62% to 74% smaller than the one in the reference study. We have obtained comparable results, however, we observed a general inability of existing Machine Learning techniques of coping with small and irregular data sets. This research contributes to the ongoing effort to improve software maintainability and offers insights to practitioners on the methods for mitigating the adverse effects of technical debt. Our results partially replicated the original study’s, emphasizing the need for further research aimed at forecasting technical debt for software projects with minimal data available.