中文

KL-SATD 的普遍程度、内容与自动检测

软件工程 2020-08-13 v1

摘要

当开发者在源代码注释中使用 TODO 与 FIXME 等不同关键词来描述自承认技术债(SATD)时,我们称之为关键词标注 SATD(KL-SATD)。我们研究了来自 33 个软件仓库、包含 13,588 条 KL-SATD 注释的 KL-SATD。我们发现所有注释中 KL-SATD 注释的中位数占比仅为 1.52%。我们发现 KL-SATD 注释内容包含表达代码变更与不确定性的词汇,如 remove、fix、maybe 与 probably。这使其不同于其他注释。KL-SATD 注释内容与已有工作中人工标注的 SATD 注释相似。我们使用 logistic Lasso 回归的机器学习分类器在检测 KL-SATD 注释上表现良好(AUC-ROC 0.88)。最后,我们展示了利用机器学习可识别出当前缺失但本应带有 SATD 关键词的注释。对缺乏 SATD 关键词的注释自动识别 SATD 可取代人工识别,从而节省时间与精力。使用 KL-SATD 为引导构建完整的 SATD 检测器提供了可能。

关键词

引用

@article{arxiv.2008.05159,
  title  = {Prevalence, Contents and Automatic Detection of KL-SATD},
  author = {Leevi Rantala and Mika Mäntylä and David Lo},
  journal= {arXiv preprint arXiv:2008.05159},
  year   = {2020}
}

备注

Euromicro Conference on Software Engineering and Advanced Applications (SEAA'20)