Can Clean New Code reduce Technical Debt Density?

10/19/2020
by   George Digkas, et al.
0

While technical debt grows in absolute numbers as software systems evolve over time, the density of technical debt (technical debt divided by lines of code) is reduced in some cases. This can be explained by either the application of refactorings or the development of new artifacts with limited Technical Debt. In this paper we explore the second explanation, by investigating the relation between the amount of Technical Debt in new code and the evolution of Technical Debt in the system. To this end, we compare the Technical Debt Density of new code with existing code, and we investigate which of the three major types of code changes (additions, deletions and modifications) is primarily responsible for changes in the evolution of Technical Debt density. Furthermore, we study whether there is a relation between code quality practices and the 'cleanness' of new code. To obtain the required data, we have performed a large-scale case study on twenty-seven open-source software projects by the Apache Software Foundation, analyzing 66,661 classes and 56,890 commits. The results suggest that writing "clean" (or at least "cleaner") new code can be an efficient strategy for reducing Technical Debt Density, and thus preventing software decay over time. The findings also suggest that projects adopting an explicit policy for quality improvement, e.g. through discussions on code quality in board meetings, are associated with a higher frequency of cleaner new code commits. Therefore, we champion the establishment of processes that monitor the density of Technical Debt of new code to control the accumulation of Technical Debt in a software system.

READ FULL TEXT

page 10

page 12

page 18

research
02/11/2020

Analyzing the Rework Time and Severity of Code Debt: A Case Study Using Technical Debt Catalogs

This paper presents a case study analyzing Hibernate ecosystem software ...
research
10/11/2020

Further Investigation of the Survivability of Code Technical Debt Items

Context: Technical Debt (TD) discusses the negative impact of sub-optima...
research
06/01/2022

Technical Debts and Faults in Open-source Quantum Software Systems: An Empirical Study

Quantum computing is a rapidly growing field attracting the interest of ...
research
08/30/2019

Some SonarQube Issues have a Significant but SmallEffect on Faults and Changes. A large-scale empirical study

Context. Companies commonly invest effort to remove technical issues bel...
research
08/02/2019

The Technical Debt Dataset

Technical Debt analysis is increasing in popularity as nowadays research...
research
09/04/2022

The Broken Windows Theory Applies to Technical Debt

Context: The term technical debt (TD) describes the aggregation of sub-o...
research
05/20/2019

Better Technical Debt Detection via SURVEYing

Software analytics can be improved by surveying; i.e. rechecking and (po...

Please sign up or login with your details

Forgot password? Click here to reset