首次审视重复与近重复的自承认技术债注释
软件工程
2022-03-31 v1
摘要
自承认技术债(SATD)指由开发者有意引入并在代码注释或其他软件制品(如问题报告)中明确记录、用以标注软件开发过程中开发者所做出的次优决策的技术债。本文中,我们首次审视五个流行 Apache 开源软件项目(即 JSPWiki、Helix、Jackrabbit、Archiva 和 SystemML)中重复与近重复 SATD 注释的存在情况与特征。我们设计了一种方法,通过挖掘软件项目的提交历史,自动识别重复与近重复 SATD 注释的组群并追踪其在软件系统中的演化。借助所提方法,我们从目标项目中识别出 3,520 条重复与近重复 SATD 注释,归属于 1,141 个组群。我们手动分析了一组样本(每个项目抽样 100 个组群,共 1,505 条 SATD 注释)的内容与上下文,识别其是否标注同一根因。我们还研究了重复 SATD 注释是否存在于代码克隆中、是否共存于同一文件、以及是否同时被引入与移除。我们的初步研究揭示了若干令人惊讶的发现,可为旨在改进重复 SATD 注释管理的未来研究提供启示。例如,仅有 48.5% 具相同根因的重复 SATD 注释组存在于常规代码克隆中,且仅有 33.9% 的重复 SATD 注释对在同一提交中被引入。
引用
@article{arxiv.2203.15979,
title = {A First Look at Duplicate and Near-duplicate Self-admitted Technical Debt Comments},
author = {Jerin Yasmin and Mohammad Sadegh Sheikhaei and Yuan Tian},
journal= {arXiv preprint arXiv:2203.15979},
year = {2022}
}
备注
4 +1 pages