🤖 AI Summary
This study investigates the impact of method-level self-admitted technical debt (SATD) on software maintenance. Leveraging 774,051 methods across 49 open-source projects, we identify SATD instances in source code comments via combined static analysis and natural language processing, and extract code metrics—including cyclomatic complexity, length, and readability—to assess their associations with code quality, defect-proneness, change frequency, and bug-fix delay using regression modeling. This work advances SATD research to the method level for the first time, delivering the largest-scale, multi-dimensional empirical evidence to date: SATD-bearing methods are significantly larger, more complex, less readable, and exhibit higher defect rates and change frequencies. Moreover, over 60% of SATD instances remain unresolved for months on average, severely undermining maintainability. The findings underscore the critical need for early detection and proactive management of method-level SATD.
📝 Abstract
Self-Admitted Technical Debt (SATD) refers to the phenomenon where developers explicitly acknowledge technical debt through comments in the source code. While considerable research has focused on detecting and addressing SATD, its true impact on software maintenance remains underexplored. The few studies that have examined this critical aspect have not provided concrete evidence linking SATD to negative effects on software maintenance. These studies, however, focused only on file- or class-level code granularity. This paper aims to empirically investigate the influence of SATD on various facets of software maintenance at the method level. We assess SATD's effects on code quality, bug susceptibility, change frequency, and the time practitioners typically take to resolve SATD. By analyzing a dataset of 774,051 methods from 49 open-source projects, we discovered that methods containing SATD are not only larger and more complex but also exhibit lower readability and a higher tendency for bugs and changes. We also found that SATD often remains unresolved for extended periods, adversely affecting code quality and maintainability. Our results provide empirical evidence highlighting the necessity of early identification, resource allocation, and proactive management of SATD to mitigate its long-term impacts on software quality and maintenance costs.