Technical debt is a metaphor that refers to all the consequences of poorly written code and trade-offs in development. Early technical debt diagnosis is important for software developers because it allows planning for software maintenance and improvement activities, such as refactoring, to prevent system degradation. Several studies have been conducted in the literature on the identification of the technical debt and its consequences, thanks to useful tools for identifying the problem within the source code. On the other hand, this work aims to explore a deep learning approach to predict the rise of technical debt in software code by leveraging the knowledge of changing quality metrics. For validation of the approach, a large dataset was built, related to four known Java software projects, with the collection of numerous class-level code quality metrics. The results obtained show the effectiveness of the proposed approach in predicting the development of Technical Debt within the source code. We obtained an F1 score of 0.99 for two of the chosen software systems and greater than 0.91 for the remaining two.
Technical Debt predictive model through Temporal Convolutional Network
Aversano L.
;Bernardi M. L.
;Iammarino M.
2021-01-01
Abstract
Technical debt is a metaphor that refers to all the consequences of poorly written code and trade-offs in development. Early technical debt diagnosis is important for software developers because it allows planning for software maintenance and improvement activities, such as refactoring, to prevent system degradation. Several studies have been conducted in the literature on the identification of the technical debt and its consequences, thanks to useful tools for identifying the problem within the source code. On the other hand, this work aims to explore a deep learning approach to predict the rise of technical debt in software code by leveraging the knowledge of changing quality metrics. For validation of the approach, a large dataset was built, related to four known Java software projects, with the collection of numerous class-level code quality metrics. The results obtained show the effectiveness of the proposed approach in predicting the development of Technical Debt within the source code. We obtained an F1 score of 0.99 for two of the chosen software systems and greater than 0.91 for the remaining two.I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.