中文

构建系统中自承认技术债务克隆的量化与特征刻画

软件工程 2024-02-15 v1

摘要

自承认技术债务(Self-Admitted Technical Debt, SATD)记录了那些为了短期目标而有意牺牲长期软件制品质量的开发决策。近期研究探索了源代码中SATD克隆(重复或近乎重复的SATD注释)的存在。构建系统(如CMake和Maven)中的SATD克隆可能会传播次优的设计选择,从而威胁到利益相关者所依赖的构建系统质量(如可维护性、可靠性、可重复性)。因此,我们对从Autotools、CMake、Maven和Ant构建系统中提取的50,608条SATD注释进行了大规模研究,以调查SATD克隆的普遍性并刻画其发生特征。我们观察到:(i) 先前研究表明源代码中41-65%的SATD注释是克隆,但在我们研究的构建系统环境中,该比率范围从62%到95%,这表明SATD克隆在构建系统中比在源代码中更为普遍;(ii) SATD克隆周围的语句高度相似,76%的实例相似度得分大于0.8;(iii) 四分之一的SATD克隆是由原始SATD语句的作者引入的;(iv) 在最常被克隆的SATD注释中,外部因素(如平台和工具配置)是最常见的位置,工具和库的限制是最常见的原因,并且开发者经常复制描述待修复问题的SATD注释。我们的工作为系统性地理解构建系统中的SATD克隆迈出了第一步,并为未来的工作开辟了途径,例如区分不同的SATD克隆行为,以及基于已解决的克隆设计一个有效的自动化推荐系统来偿还SATD。

关键词

引用

@article{arxiv.2402.08920,
  title  = {Quantifying and Characterizing Clones of Self-Admitted Technical Debt in Build Systems},
  author = {Tao Xiao and Zhili Zeng and Dong Wang and Hideaki Hata and Shane McIntosh and Kenichi Matsumoto},
  journal= {arXiv preprint arXiv:2402.08920},
  year   = {2024}
}