SATD 与其他软件开发活动关系的探索性研究
软件工程
2024-04-03 v1
摘要
技术债务是一个常见问题,当优先考虑短期收益而非长期成本时就会出现,导致代码质量下降。自承认技术债务 (SATD) 是技术债务的一种特定类型,涉及通过记录代码来提醒开发者其债务。先前的研究已经探索了 SATD 的各个方面,包括检测方法、分布及其对软件质量的影响。为了更好地理解 SATD,一种理解技术是检查它与其他活动(如重构和错误修复)的共现情况。本研究调查了移除和添加 SATD 与重构、错误修复、添加新功能和测试等活动之间的关系。为此,我们分析了 77 个开源 Java 项目,使用内联注释中的 TODO/FIXME/XXX 移除或添加作为 SATD 的指标。我们通过卡方和优势比评估检查了每个项目中 SATD 与每项活动的共现情况。我们的结果表明,在 95% 的项目中,SATD 移除与重构同时发生,而其添加在 89% 的项目中发生。此外,我们发现三种类型的重构——“移动类”、“移除方法”和“移动属性”——在存在 SATD 时发生得更频繁。然而,它们的分布在有和没有 SATD 的项目中是相似的。
引用
@article{arxiv.2404.01950,
title = {An Exploratory Study of the Relationship between SATD and Other Software Development Activities},
author = {Shima Esfandiari and Ashkan Sami},
journal= {arXiv preprint arXiv:2404.01950},
year = {2024}
}
备注
6 pages, DOI: 10.1109/ICCKE60553.2023.10326279