Hidden in Plain Sight: Where Developers Confess Self-Admitted Technical Debt
This work addresses the need for proactive software maintenance by identifying where developers intentionally signal technical debt, though it is incremental as it builds on existing SATD detection research.
The study tackled the problem of linking Self-Admitted Technical Debt (SATD) comments to specific source code constructs, revealing that SATD primarily occurs in inline code near definitions, conditionals, and exception handling, based on an analysis of over 225,000 SATD comments from 9000+ Java OSS repositories.
Context. Detecting Self-Admitted Technical Debt (SATD) is crucial for proactive software maintenance. Previous research has primarily targeted detecting and prioritizing SATD, with little focus on the source code afflicted with SATD. Our goal in this work is to connect the SATD comments with source code constructs that surround them. Method. We leverage the extensive SATD dataset PENTACET, containing code comments from over 9000 Java Open Source Software (OSS) repositories. We quantitatively infer where SATD most commonly occurs and which code constructs/statements it most frequently affects. Results and Conclusions. Our large-scale study links over 225,000 SATD comments to their surrounding code, showing that SATD mainly arises in inline code near definitions, conditionals, and exception handling, where developers face uncertainty and trade-offs, revealing it as an intentional signal of awareness during change rather than mere neglect.