Identifying Self-Admitted Technical Debt in Issue Tracking Systems using Machine Learning

02/04/2022
by   Yikun Li, et al.
0

Technical debt is a metaphor indicating sub-optimal solutions implemented for short-term benefits by sacrificing the long-term maintainability and evolvability of software. A special type of technical debt is explicitly admitted by software engineers (e.g. using a TODO comment); this is called Self-Admitted Technical Debt or SATD. Most work on automatically identifying SATD focuses on source code comments. In addition to source code comments, issue tracking systems have shown to be another rich source of SATD, but there are no approaches specifically for automatically identifying SATD in issues. In this paper, we first create a training dataset by collecting and manually analyzing 4,200 issues (that break down to 23,180 sections of issues) from seven open-source projects (i.e., Camel, Chromium, Gerrit, Hadoop, HBase, Impala, and Thrift) using two popular issue tracking systems (i.e., Jira and Google Monorail). We then propose and optimize an approach for automatically identifying SATD in issue tracking systems using machine learning. Our findings indicate that: 1) our approach outperforms baseline approaches by a wide margin with regard to the F1-score; 2) transferring knowledge from suitable datasets can improve the predictive performance of our approach; 3) extracted SATD keywords are intuitive and potentially indicating types and indicators of SATD; 4) projects using different issue tracking systems have less common SATD keywords compared to projects using the same issue tracking system; 5) a small amount of training data is needed to achieve good accuracy.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
02/04/2022

Automatic Identification of Self-Admitted Technical Debt from Different Sources

Technical debt refers to taking shortcuts to achieve short-term goals wh...
research
03/13/2023

Automatically Identifying Relations Between Self-Admitted Technical Debt Across Different Sources

Self-Admitted Technical Debt or SATD can be found in various sources, su...
research
06/02/2020

Descriptions of issues and comments for predicting issue success in software projects

Software development tasks must be performed successfully to achieve sof...
research
04/16/2023

Automated Self-Admitted Technical Debt Tracking at Commit-Level: A Language-independent Approach

Software and systems traceability is essential for downstream tasks such...
research
09/12/2023

Automatically Estimating the Effort Required to Repay Self-Admitted Technical Debt

Technical debt refers to the consequences of sub-optimal decisions made ...
research
08/12/2020

Prevalence, Contents and Automatic Detection of KL-SATD

When developers use different keywords such as TODO and FIXME in source ...
research
10/29/2019

MAT: A simple yet strong baseline for identifying self-admitted technical debt

In the process of software evolution, developers often sacrifice the lon...

Please sign up or login with your details

Forgot password? Click here to reset