返回
Code2Img: Tree-Based Image Transformation for Scalable Code Clone Detection
DOI:10.1109/TSE.2023.3295801.png)
摘要
En 中文
代码克隆检测是软件工程的一个活跃的研究领域。克隆检测有两个核心需求: 可扩展的检测和复杂的克隆检测。对于可伸缩检测,现有方法将源代码视为文本或令牌序列,然后计算它们的相似性。然而,由于缺乏对代码结构的考虑,基于文本和基于令牌的方法难以检测复杂的克隆类型。基于代码的中间表示的方法可以有效地实现复杂的克隆类型检测,但是受到表示的复杂性的限制,无法扩展。在本文中,我们提出了一种基于树的代码克隆检测器Code2Img,它在有效检测复杂克隆的同时满足了可伸缩性。给定源代码,我们首先通过倒排索引执行克隆过滤以定位可疑克隆。对于每个可疑克隆,我们基于标准化抽象语法树 (AST) 的邻接矩阵创建邻接图像。然后,我们设计了一个图像编码器,以进一步突出结构细节并细化图像的像素。具体来说,我们采用马尔可夫模型将邻接图像编码为状态概率图像,并删除其无用的像素。通过这种方式,可以将原始复杂树转换为一维向量,同时保留AST的结构特征。最后,我们通过计算这些向量的Jaccard相似度来检测克隆。我们与其他八个最先进的克隆检测器 (SourcererCC、NIL、LVMapper、Nicad、Siamese、CCAligner、dekard和Yang2018) 进行了有效性和可扩展性的比较评估。实验结果表明,在检测有效性和可扩展性方面,Code2Img在所有比较工具中都达到了最佳性能。这表明Code2Img可以适用于可扩展的复杂克隆检测。
Keyword:
Code clone
clone detection
scalability
期刊
IF:
5.6
论文数:
2.9K
被引数:
1.1W
机构
引用论文
Lys63/Met1-hybrid ubiquitin chains are commonly formed during the activation of innate immune signallingLys63/Met1-hybrid泛素链通常在先天免疫信号激活过程中形成
Volcanic, Coseismic, and Seasonal Changes Detected at White Island (Whakaari) Volcano, New Zealand, Using Seismic Ambient Noise使用地震环境噪声在新西兰怀特岛 (Whakaari) 火山检测到的火山,同震和季节变化
Controls on Sediment Suspension, Flux, and Marsh Deposition near a Bay-Marsh Boundary控制海湾-沼泽边界附近的沉积物悬浮,通量和沼泽沉积

