Evolution of technical debt: An exploratory study
Paper i proceeding, 2019

Context: Technical debt is known to impact maintainability of software. As source code files grow in size, maintainability becomes more challenging. Therefore, it is expected that the density of technical debt in larger files would be reduced for the sake of maintainability. Objective: This exploratory study investigates whether a newly introduced metric ‘technical debt density trend’ helps to better understand and explain the evolution of technical debt. The ‘technical debt density trend’ metric is the slope of the line of two successive ‘technical debt density’ measures corresponding to the ‘lines of code’ values of two consecutive revisions of a source code file. Method: This study has used 11,822 commits or revisions of 4,013 Java source files from 21 open source projects. For the technical debt measure, SonarQube tool is used with 138 code smells. Results: This study finds that ‘technical debt density trend’ metric has interesting characteristics that make it particularly attractive to understand the pattern of accrual and repayment of technical debt by breaking down a technical debt measure into multiple components, e.g., ‘technical debt density’ can be broken down into two components showing mean density corresponding to revisions that accrue technical debt and mean density corresponding to revisions that repay technical debt. The use of ‘technical debt density trend’ metric helps us understand the evolution of technical debt with greater insights.

Maintainability

Technical debt density

Java source files

Technical debt

Technical debts

Open source software

Software metrics

Multiple components

Technical debt density trend

Code smell

Exploratory studies

Odors

Open source projects

Slope of technical debt density

Codes (symbols)

Code debt

Code smells

Författare

Md Abdullah Al Mamun

Chalmers, Data- och informationsteknik, Software Engineering, Software Engineering for People, Architecture, Requirements and Traceability

Antonio Martini

Chalmers, Data- och informationsteknik, Software Engineering, Software Engineering for People, Architecture, Requirements and Traceability

Miroslaw Staron

Chalmers, Data- och informationsteknik, Software Engineering, Software Engineering for People, Architecture, Requirements and Traceability

Christian Berger

Chalmers, Data- och informationsteknik, Software Engineering, Software Engineering for People, Architecture, Requirements and Traceability

Jörgen Hansson

Chalmers, Data- och informationsteknik, Software Engineering

Joint Proceedings of the International Workshop on Software Measurement and the International Conference on Software Process and Product Measurement

1613-0073 (ISSN)

Vol. 2476 87-102

2019 Joint Conference of the International Workshop on Software Measurement and the International Conference on Software Process and Product Measurement (IWSM Mensura 2019)
Haarlem, Netherlands,

Styrkeområden

Informations- och kommunikationsteknik

Ämneskategorier

Programvaruteknik

Mer information

Skapat

2020-01-16