Estimating Technical Debt Through Changes Related to Code Smells in the Evolution of Software Projects
Technical debt and code smells are related concepts used to describe the trade-offs and consequences of suboptimal coding practices. Leaving code smells in the code means that developers choose a quick solution instead of the optimal code, and this can be a sign of technical debt or the implied cost...
Saved in:
Main Authors: | , |
---|---|
Format: | Article |
Language: | English |
Published: |
IEEE
2025-01-01
|
Series: | IEEE Access |
Subjects: | |
Online Access: | https://ieeexplore.ieee.org/document/11044349/ |
Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
Summary: | Technical debt and code smells are related concepts used to describe the trade-offs and consequences of suboptimal coding practices. Leaving code smells in the code means that developers choose a quick solution instead of the optimal code, and this can be a sign of technical debt or the implied cost of additional work during maintenance. Technical debt measurement must be applied to better manage code smells during the evolution of a software project. However, existing approaches to measuring the principal, i.e., the effort required to refactor the suboptimal code to pay off the debt, are limited, such that the effort measurement is coarse-grained or insensitive to the characteristics of code smell instances and their changes over time. Moreover, none of the existing approaches measure the interest, i.e., the extra effort developers spend understanding or working around code smells during maintenance. This research presents a method to estimate technical debt in terms of the effort to pay off the principal and the effort that has been paid for the interest. The method comprises a set of fine-grained metrics for measuring the sizes of change activities that are related to code smells in each version of the software project history. The sizes of change activities are then applied to a maintenance effort estimation model to determine the principal and interest. An experiment compared the application of two maintenance effort estimation models, COCOMO II and Change Acceptance Analysis (CAA), to the proposed method and suggested COCOMO II for technical debt estimation. |
---|---|
ISSN: | 2169-3536 |