TY - JOUR
T1 - SATDBailiff-mining and tracking self-admitted technical debt
AU - AlOmar, Eman Abdullah
AU - Christians, Ben
AU - Busho, Mihal
AU - AlKhalid, Ahmed Hamad
AU - Ouni, Ali
AU - Newman, Christian
AU - Mkaouer, Mohamed Wiem
N1 - Publisher Copyright:
© 2021 Elsevier B.V.
PY - 2022/1/1
Y1 - 2022/1/1
N2 - Self-Admitted Technical Debt (SATD) is a metaphorical concept to describe the self-documented addition of technical debt to a software project in the form of source code comments. SATD can linger in projects and degrade source-code quality, but it can also be more visible than unintentionally added or undocumented technical debt. Understanding the implications of adding SATD to a software project is important because developers can benefit from a better understanding of the quality trade-offs they are making. However, empirical studies, analyzing the survivability and removal of SATD comments, are challenged by potential code changes or SATD comment updates that may interfere with properly tracking their appearance, existence, and removal. In this paper, we propose SATDBailiff, a tool that uses an existing state-of-the-art SATD detection tool, to identify SATD in method comments, then properly track their lifespan. SATDBailiff is given as input links to open source projects, and its output is a list of all identified SATDs, and for each detected SATD, SATDBailiff reports all its associated changes, including any updates to its text, all the way to reporting its removal. The goal of SATDBailiff is to aid researchers and practitioners in better tracking SATDs instances, and providing them with a reliable tool that can be easily extended. SATDBailiff was validated using a dataset of previously detected and manually validated SATD instances. SATDBailiff is publicly available as an open source, along with the manual analysis of SATD instances associated with its validation, on the project website.
AB - Self-Admitted Technical Debt (SATD) is a metaphorical concept to describe the self-documented addition of technical debt to a software project in the form of source code comments. SATD can linger in projects and degrade source-code quality, but it can also be more visible than unintentionally added or undocumented technical debt. Understanding the implications of adding SATD to a software project is important because developers can benefit from a better understanding of the quality trade-offs they are making. However, empirical studies, analyzing the survivability and removal of SATD comments, are challenged by potential code changes or SATD comment updates that may interfere with properly tracking their appearance, existence, and removal. In this paper, we propose SATDBailiff, a tool that uses an existing state-of-the-art SATD detection tool, to identify SATD in method comments, then properly track their lifespan. SATDBailiff is given as input links to open source projects, and its output is a list of all identified SATDs, and for each detected SATD, SATDBailiff reports all its associated changes, including any updates to its text, all the way to reporting its removal. The goal of SATDBailiff is to aid researchers and practitioners in better tracking SATDs instances, and providing them with a reliable tool that can be easily extended. SATDBailiff was validated using a dataset of previously detected and manually validated SATD instances. SATDBailiff is publicly available as an open source, along with the manual analysis of SATD instances associated with its validation, on the project website.
KW - Mining software repositories
KW - Self-admitted technical debt
UR - http://www.scopus.com/inward/record.url?scp=85115889625&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85115889625&partnerID=8YFLogxK
U2 - 10.1016/j.scico.2021.102693
DO - 10.1016/j.scico.2021.102693
M3 - Article
AN - SCOPUS:85115889625
SN - 0167-6423
VL - 213
JO - Science of Computer Programming
JF - Science of Computer Programming
M1 - 102693
ER -