中文

源代码是图,而非序列:跨语言视角下的代码克隆检测

计算与语言 2023-12-29 v1

摘要

源代码克隆检测是寻找具有相同或相似功能但语法或结构可能不同的代码片段的任务。该任务对于软件维护、重用和质量保证至关重要(Roy et al. 2009)。然而,代码克隆检测具有挑战性,因为源代码可以用不同的语言、领域和风格编写。在本文中,我们认为源代码本质上是图,而不是序列,并且基于图的方法比基于序列的方法更适合代码克隆检测。我们在两个基准数据集BCB(Svajlenko et al. 2014)和PoolC(PoolC 无日期)上比较了两种最先进模型的性能:CodeBERT(Feng et al. 2020),一种基于序列的模型,以及CodeGraph(Yu et al. 2023),一种基于图的模型。我们表明,CodeGraph在两个数据集上都优于CodeBERT,尤其是在跨语言代码克隆上。据我们所知,这是第一个证明基于图的方法在跨语言代码克隆检测上优于基于序列的方法的工作。

关键词

引用

@article{arxiv.2312.16488,
  title  = {Source Code is a Graph, Not a Sequence: A Cross-Lingual Perspective on Code Clone Detection},
  author = {Mohammed Ataaur Rahaman and Julia Ive},
  journal= {arXiv preprint arXiv:2312.16488},
  year   = {2023}
}