利用基于转译器的数据增强进行跨语言克隆检测的路径
软件工程
2023-03-03 v1
摘要
当开发人员在相同或不同的软件系统中复用代码片段以实现相似功能时,常常会引入软件克隆。当今许多高性能的克隆检测工具基于深度学习技术,且大多用于检测用同一种编程语言编写的克隆,而用于检测跨语言克隆的工具也在迅速涌现。基于深度学习的克隆检测工具的流行,为研究如何进一步利用已知的可提升深度学习模型性能的策略来改进克隆检测工具创造了机会。在本文中,我们研究了一种尚未针对跨语言克隆检测(相对于单语言克隆检测)被探索过的此类策略——数据增强。我们展示了如何利用关于转译器(源到源翻译器)的现有知识进行数据增强,以提升跨语言克隆检测模型的性能,以及调整单语言克隆检测模型以构建跨语言克隆检测流水线。为展示通过数据增强带来的跨语言克隆检测性能提升,我们利用了预训练的源到源翻译器 Transcoder。为展示如何扩展单语言模型用于跨语言克隆检测,我们将流行的单语言模型 Graph Matching Network (GMN) 与转译器结合进行扩展。我们在流行的基准数据集上评估了我们的模型。实验结果表明,前沿的跨语言克隆检测模型的 F1 分数有所提升(有时达 3%)。即使在将 GMN 扩展用于跨语言克隆检测时,利用数据增强构建的模型也以精确率、召回率和 F1 分数分别为 0.90、0.92 和 0.91 的成绩优于基线。
引用
@article{arxiv.2303.01435,
title = {Pathways to Leverage Transcompiler based Data Augmentation for Cross-Language Clone Detection},
author = {Subroto Nag Pinku and Debajyoti Mondal and Chanchal K. Roy},
journal= {arXiv preprint arXiv:2303.01435},
year = {2023}
}
备注
Accepted at the 31st IEEE/ACM International Conference on Program Comprehension (ICPC 2023)