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

Software and systems traceability is essential for downstream tasks such as data-driven software analysis and intelligent tool development. However, despite the increasing attention to mining and understanding technical debt in software systems, specific tools for supporting the track of technical debts are rarely available. In this work, we propose the first programming language-independent tracking tool for self-admitted technical debt (SATD) – a sub-optimal solution that is explicitly annotated by developers in software systems. Our approach takes a git repository as input and returns a list of SATDs with their evolution actions (created, deleted, updated) at the commit-level. Our approach also returns a line number indicating the latest starting position of the corresponding SATD in the system. Our SATD tracking approach first identifies an initial set of raw SATDs (which only have created and deleted actions) by detecting and tracking SATDs in commits' hunks, leveraging a state-of-the-art language-independent SATD detection approach. Then it calculates a context-based matching score between pairs of deleted and created raw SATDs in the same commits to identify SATD update actions. The results of our preliminary study on Apache Tomcat and Apache Ant show that our tracking tool can achieve a F1 score of 92.8

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
02/04/2022

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

Technical debt is a metaphor indicating sub-optimal solutions implemente...
research
01/28/2019

Wait For It: Identifying "On-Hold" Self-Admitted Technical Debt

Self-admitted technical debt refers to situations where a software devel...
research
06/30/2021

SATDBailiff- Mining and Tracking Self-Admitted Technical Debt

Self-Admitted Technical Debt (SATD) is a metaphorical concept to describ...
research
02/19/2021

Characterizing and Mitigating Self-Admitted Build Debt

Technical Debt is a metaphor used to describe the situation in which lon...
research
10/19/2018

Coming: a Tool for Mining Change Pattern Instances from Git Commits

Software repositories such as Git have become a relevant source of infor...
research
02/28/2019

EyeDoc: Documentation Navigation with Eye Tracking

We demonstrate EyeDoc, a tool for navigating software documentation with...

Please sign up or login with your details

Forgot password? Click here to reset