Software Maintainability and Refactorings Prediction Based on Technical Debt Issues

Software maintainability is a crucial factor impacting cost, time and resource allocation for software development. Code refactorings greatly enhance code quality, readability, understandability and extensibility. Hence, accurate prediction methods for both maintainability and refactorings are vital...

Full description

Saved in:
Bibliographic Details
Published inStudia Universitatis Babes-Bolyai: Series Informatica Vol. 68; no. 2
Main Authors Liviu-Marian BERCIU, Vasilica MOLDOVAN
Format Journal Article
LanguageEnglish
Published Babes-Bolyai University, Cluj-Napoca 22.12.2023
Subjects
Online AccessGet full text

Cover

Loading…
More Information
Summary:Software maintainability is a crucial factor impacting cost, time and resource allocation for software development. Code refactorings greatly enhance code quality, readability, understandability and extensibility. Hence, accurate prediction methods for both maintainability and refactorings are vital for long-term project sustainability and success, offering substantial benefits to the software community as a whole. This article focuses on prediction of software maintainability and the number of needed code refactorings using technical debt data. Two approaches were explored, one compressing technical debt issues per software component and employing machine learning algorithms such as ExtraTrees, Random Forest, Decision Trees, which all obtained a high accuracy and performance. The second approach retained multiple debt issue entries and utilized a Recurrent Neural Network, although less effectively. In addition to the prediction of the requisite number of code refactorings and software maintainability for individual software components, a comprehensive analysis of technical debt issues was conducted before and after the refactoring process. The outcomes of this study contribute to the advancement of a dependable prediction system for maintainability and refactorings, presenting potential advantages to the software community in effectively managing maintenance resources. Of all the employed models, the ExtraTrees model yielded the most optimal predictive outcomes. To the best of our knowledge no other approaches of using ML techniques for this problem have been reported in literature.
ISSN:2065-9601
DOI:10.24193/subbi.2023.2.02