中文

大型 Scala 代码库上的克隆检测

软件工程 2022-04-12 v1

摘要

代码克隆是相同或相似的代码片段。代码克隆的广泛存在会增加维护成本并危及软件质量。研究社区已开发出许多检测代码克隆的技术,然而,关于这些技术在工业用例中的表现如何,目前证据甚少。在本文中,我们旨在揭示将这些技术应用于工业用例时所存在的差异。我们在以 Scala 语言编写的开源项目和工业项目上,对 SourcererCC 和 AutoenCODE 这两种 state-of-the-art 的代码克隆检测技术的性能开展了大规模实验研究。我们的结果表明,这两种算法在工业项目上的表现有所不同,其中精确率的最大降幅为 30.7%,召回率的最大增幅为 32.4%。通过让工业项目的开发者手动标注样本,我们发现上述工业项目中 Type-3 克隆的数量远少于开源项目中的数量。

关键词

引用

@article{arxiv.2204.04247,
  title  = {Clone Detection on Large Scala Codebases},
  author = {Wahidur Rahman and Yisen Xu and Fan Pu and Jifeng Xuan and Xiangyang Jia and Michail Basios and Leslie Kanthan and Lingbo Li and Fan Wu and Baowen Xu},
  journal= {arXiv preprint arXiv:2204.04247},
  year   = {2022}
}

备注

Presented at IWSC SANER 2020