Technical debt is a collection of design decisions that, when taken together over time, make the system challenging to maintain and develop. Technical debt impacts the quality of applications by generating structural weaknesses that translate into slowness and functional deficiencies at the development level. Identifying debts in your code, architecture, and infrastructure is of paramount importance and requires an in-depth analysis that requires effort in terms of time and resources. To date, there are several reliable tools for calculating debt in code, but this study aims to forecast the impact developers have on debt in source code. We propose an approach, based on the use of different Machine Learning and Deep Learning classifiers capable of predicting just in time, if the change that the developer is making will have a low, medium, or high impact on the debt. To conduct the experiments, three open-source Java systems available on Github were selected, and for each of these, the entire history was collected in terms of changes, quality metrics and indicators strictly connected to the presence of technical debt. The results obtained are satisfactory, showing the effectiveness of the proposed method.

Forecasting the Developer’s Impact in Managing the Technical Debt

Iammarino, Martina
2024-01-01

Abstract

Technical debt is a collection of design decisions that, when taken together over time, make the system challenging to maintain and develop. Technical debt impacts the quality of applications by generating structural weaknesses that translate into slowness and functional deficiencies at the development level. Identifying debts in your code, architecture, and infrastructure is of paramount importance and requires an in-depth analysis that requires effort in terms of time and resources. To date, there are several reliable tools for calculating debt in code, but this study aims to forecast the impact developers have on debt in source code. We propose an approach, based on the use of different Machine Learning and Deep Learning classifiers capable of predicting just in time, if the change that the developer is making will have a low, medium, or high impact on the debt. To conduct the experiments, three open-source Java systems available on Github were selected, and for each of these, the entire history was collected in terms of changes, quality metrics and indicators strictly connected to the presence of technical debt. The results obtained are satisfactory, showing the effectiveness of the proposed method.
2024
9783031492686
9783031492693
File in questo prodotto:
Non ci sono file associati a questo prodotto.

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/20.500.12607/28703
 Attenzione

Attenzione! I dati visualizzati non sono stati sottoposti a validazione da parte dell'ateneo

Citazioni
  • ???jsp.display-item.citation.pmc??? ND
social impact