返回
Fine-Grained Code Clone Detection by Keywords-Based Connection of Program Dependency Graph
DOI:10.1109/TR.2025.3550747.png)
摘要
En 中文
代码克隆检测旨在识别功能相似代码片段,这是当代软件工程中日益重要的问题。针对代码克隆的检测已提出多种方法,其中基于图的方法在处理语义代码克隆方面表现出有效性。然而,这些方法均仅考虑单个样本的特征提取,忽略了不同样本间的语义关联,导致检测效果不理想。同时,现有的大部分方法只能确定克隆的存在,缺乏提供哪些代码行具有更高相似性的细致分析能力。本文提出一种基于PDG的语义克隆检测方法,即Keybor,该方法通过提供克隆对的细粒度分析来定位特定的克隆代码行。该方法的特点是将关键词作为桥梁连接目标程序的PDG节点,以保留更多功能代码的语义信息。为检验Keybor的有效性,我们在广泛使用的BigCloneBench数据集上对其进行评估。实验结果表明,Keybor优于14种先进的代码克隆检测工具(即CCAligner、SourcererCC、Siamese、NIL、NiCad、LVMapper、CCFinder、CloneWorks、Oreo、Deckard、CCGraph、Code2Img、GPT-3.5-turbo和GPT-4)。
Keyword:
Code clones
fine-grained
keywords
program dependency graph (PDG)
期刊
IF:
5.7
论文数:
2.8K
被引数:
8.5K

