一句话:FixMe 机器人用机器学习检测并监控 GitHub 仓库中的 On-hold SATD,并在关联 issue 解决时通知开发者。
自认技术债(SATD)是开发者在代码注释中主动记录的特殊技术债。本文聚焦与 issue 关联的 On-hold SATD:开发者因项目内外部报告的问题而暂停规范实现,当被引用的 issue 解决后,这些 SATD 也应被处理,但人工监控 issue 报告耗时费力,开发者往往未能察觉,导致 SATD 长期滞留代码中。为此,作者提出 FixMe——一个 GitHub 机器人,能利用机器学习技术从源代码中自动检测 On-hold SATD 注释并发现其引用的 issue;当被引用的 issue 解决时,FixMe 会通知开发者该 SATD 已可修复。通过 11 名参与者开展的评估表明,FixMe 能支持开发者处理 On-hold SATD。该工具已在线提供,并附有演示视频。
Self-Admitted Technical Debt (SATD) is a special form of technical debt in which developers intentionally record their hacks in the code by adding comments for attention. Here, we focus on issue-related "On-hold SATD", where developers suspend proper implementation due to issues reported inside or outside the project. When the referenced issues are resolved, the On-hold SATD also need to be addressed, but since monitoring these issue reports takes a lot of time and effort, developers may not be aware of the resolved issues and leave the On-hold SATD in the code. In this paper, we propose FixMe, a GitHub bot that helps developers detecting and monitoring On-hold SATD in their repositories and notify them whenever the On-hold SATDs are ready to be fixed (i.e. the referenced issues are resolved). The bot can automatically detect On-hold SATD comments from source code using machine learning techniques and discover referenced issues. When the referenced issues are resolved, developers will be notified by FixMe bot. The evaluation conducted with 11 participants shows that our FixMe bot can support them in dealing with On-hold SATD. FixMe is available at https://www.fixmebot.app/ and FixMe's VDO is at https://youtu.be/YSz9kFxN_YQ.
DOI 原文 ·
@inproceedings{paperbot6522,
title = {FixMe: A GitHub Bot for Detecting and Monitoring On-Hold Self-Admitted Technical Debt},
author = {Saranphon Phaithoon and Supakarn Wongnil and Patiphol Pussawong and Morakot Choetkiertikul and Chaiyong Ragkhitwetsagul and Thanwadee Sunetnanta and Rungroj Maipradit and Hideaki Hata and Kenichi Matsumoto},
booktitle = {ASE},
year = {2021},
doi = {10.1109/ase51524.2021.9678680}
}