vix.ing · top · new · best · stats · spec

Text Tells the Cost: Predicting and Analyzing Repayment Effort of Self-Admitted Technical Debt

2023/09/12 by Yikun Li, Mohamed Soliman, Li, Yikun +5
Computer Science · #Artificial Intelligence (cs.AI) #FOS: Computer and information sciences #Open Source Software Innovations #Software Engineering (cs.SE) #Software Engineering Research #Software System Performance and Reliability

paper · pdf · doi:10.48550/arxiv.2309.06020

openalex publication_date 2023/09/12 · openalex created_date 2023/09/14 · openalex updated_date 2026/07/28

Abstract

Technical debt refers to the consequences of sub-optimal decisions made during software development that prioritize short-term benefits over long-term maintainability. Self-Admitted Technical Debt (SATD) is a specific form of technical debt, explicitly documented by developers within software artifacts such as source code comments and commit messages. As SATD can hinder software development and maintenance, it is crucial to estimate the effort required to repay it so that we can effectively prioritize it. However, we currently lack an understanding of SATD repayment, and more importantly, we lack approaches that can automatically estimate the repayment effort of SATD based on its textual description. To bridge this gap, we have curated a comprehensive dataset of 341,740 SATD items from 2,568,728 commits across 1,060 Apache repositories and analyzed the repayment effort comparing SATD vs. non-SATD items, as well as different types of SATD items. Furthermore, we proposed an innovative approach for Predicting Repayment Effort of SATD using Textual Information, named PRESTI. Our findings show that different types of SATD require varying levels of repayment effort, with code/design, requirement, and test debt demanding greater effort compared to non-SATD items, while documentation debt requires less. We have evaluated our approaches, particularly BERT- and TextCNN-based models, which outperform traditional machine learning methods and the baseline in estimating repayment effort. Additionally, we summarize keywords associated with varying levels of repayment effort that occur during SATD repayment. Our work aims to enhance SATD repayment prioritization and resource allocation, thereby improving software development and maintainability.

Related