An architectural technical debt index based on machine learning and architectural smells

01/16/2023
by   Darius Sas, et al.
0

A key aspect of technical debt (TD) management is the ability to measure the amount of principal accumulated in a system. The current literature contains an array of approaches to estimate TD principal, however, only a few of them focus specifically on architectural TD, and none of these are fully automated, freely available, and thoroughly validated. Moreover, a recent study has shown that many of the current approaches suffer from certain shortcomings, such as relying on hand-picked thresholds. In this paper, we propose a novel approach to estimate architectural technical debt principal based on machine learning and architectural smells to address such shortcomings. Our approach can estimate the amount of technical debt principal generated by a single architectural smell instance. To do so, we adopt novel techniques from Information Retrieval to train a learning-to-rank machine learning model that estimates the severity of an architectural smell and ensure the transparency of the predictions. Then, for each instance, we statically analyse the source code to calculate the exact number of lines of code creating the smell. Finally, we combine these two values to calculate the technical debt principal. To validate the approach, we conducted a case study and interviewed 16 practitioners, from both open source and industry, and asked them about their opinions on the TD principal estimations for several smells detected in their projects. The results show that for 71% of instances, practitioners agreed that the estimations provided were representative of the effort necessary to refactor the smell.

READ FULL TEXT
research
04/26/2019

Are Architectural Smells Independent from Code Smells? An Empirical Study

Background. Architectural smells and code smells are symptoms of bad cod...
research
05/27/2022

Self-Admitted Technical Debt in the Embedded Systems Industry: An Exploratory Case Study

Technical debt denotes shortcuts taken during software development, most...
research
10/13/2021

The perception of Architectural Smells in industrial practice

Architectural Technical Debt (ATD) is considered as the most significant...
research
04/17/2021

Architectural Archipelagos: Technical Debt in Long-Lived Software Research Platforms

This paper identifies a model of software evolution that is prevalent in...
research
03/16/2022

On the evolution and impact of Architectural Smells – An industrial case study

Architectural smells (AS) are notorious for their long-term impact on th...
research
06/15/2022

Architectural Backdoors in Neural Networks

Machine learning is vulnerable to adversarial manipulation. Previous lit...
research
03/11/2020

Deep Vectorization of Technical Drawings

We present a new method for vectorization of technical line drawings, su...

Please sign up or login with your details

Forgot password? Click here to reset