Long-Term Evaluation of Technical Debt in Open-Source Software

07/27/2020
by   Arthur-Jozsef Molnar, et al.
0

Existing software tools enable characterizing and measuring the amount of technical debt at selective granularity levels. In this paper we aim to study the evolution and characteristics of technical debt in open-source software. We carry out a longitudinal study that covers the entire development history of several complex applications. We study how technical debt is introduced in software, as well as identify how developers handle its accumulation over the long term. We carried out our evaluation using three complex, open-source Java applications. All 110 released versions, covering more than 10 years of development history for each application were analyzed using SonarQube. We studied how the amount, composition and history of technical debt changed during development, compared our results across the studied applications and present our most important findings. For each application, we identified key versions during which large amounts of technical debt were added, removed or both. This had significantly more impact when compared to the lines of code or class count increases that generally occurred during development. Within each version, we found high correlation between file lines of code and technical debt. We observed that the Pareto principle was satisfied for the studied applications, as 20 debt. Early application versions showed greater fluctuation in the amount of existing technical debt. Application size appeared to be an unreliable predictor for the quantity of technical debt. Most debt was introduced in applications as part of milestone releases that expanded their feature set. We also discovered that technical debt issues persist for a long time in source code, and their removal did not appear to be prioritized according to type or severity.

READ FULL TEXT
research
09/02/2020

A Study of Maintainability in Evolving Open-Source Software

Our study is focused on an evaluation of the maintainability characteris...
research
03/01/2020

Longitudinal Evaluation of Open-Source Software Maintainability

We present a longitudinal study on the long-term evolution of maintainab...
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
09/03/2020

Evaluation of Software Product Quality Metrics

Computing devices and associated software govern everyday life, and form...
research
04/24/2022

Impact of Change Granularity in Refactoring Detection

Detecting refactorings in commit history is essential to improve the com...
research
04/02/2019

The Impact of Systematic Edits in History Slicing

While extracting a subset of a commit history, specifying the necessary ...
research
11/12/2019

A Model-View-ViewModel (MVVM) Application Framework for Hearing Impairment Diagnosis

Around 466 million people worldwide (over 5 disabling hearing loss, and ...

Please sign up or login with your details

Forgot password? Click here to reset