提交级别的自动化自承认技术债务追踪:一种语言无关方法
软件工程
2023-04-18 v1
摘要
软件与系统可追溯性对于数据驱动的软件分析和智能工具开发等下游任务至关重要。然而,尽管对软件系统中技术债务的挖掘与理解日益受到关注,支持技术债务追踪的专用工具却鲜有可用。在本工作中,我们提出了首个用于自承认技术债务(SATD,即开发人员在软件系统中显式标注的次优解决方案)的编程语言无关追踪工具。我们的方法以 git 仓库作为输入,返回带有其在提交级别演化动作(创建、删除、更新)的 SATD 列表,同时返回指示对应 SATD 在系统中最新起始位置的行号。我们的 SATD 追踪方法首先通过检测和追踪提交代码块(hunks)中的 SATD,借助最先进的语言无关 SATD 检测方法,识别出一组初始原始 SATD(仅含创建与删除动作);随后计算同一提交中已删除与已创建原始 SATD 两两之间基于上下文的匹配分数,以识别 SATD 更新动作。我们在 Apache Tomcat 与 Apache Ant 上的初步研究表明,该追踪工具的 F1 分数分别可达 92.8% 与 96.7%。
引用
@article{arxiv.2304.07829,
title = {Automated Self-Admitted Technical Debt Tracking at Commit-Level: A Language-independent Approach},
author = {Mohammad Sadegh Sheikhaei and Yuan Tian},
journal= {arXiv preprint arXiv:2304.07829},
year = {2023}
}
备注
This study has been accepted at: The 6th International Conference on Technical Debt (TechDebt 2023)