668.
针对现有代码克隆检测方法存在上下文信息缺失以及语义学习能力弱的问题,提出一种基于增强控制流图与孪生网络架构的代码克隆检测方法。该方法首先设计了代码表示结构ECFG(enhanced control flow graph),在控制流图中嵌入跨节点关联边以强化上下文信息的感知;其次构建基于孪生网络架构的代码语义匹配模型CGSMN(code graph semantic matching network)。该模型先融合多头注意力机制,提取节点中的关键信息,随后改进关系图注意力网络,捕获节点间的关联信息以生成图特征向量,再挖掘特征向量间的语义联系,计算语义相似度。在两个代表性数据集上进行实证,结果表明,与ASTNN、FA-AST和DHAST等方法相比,在BigCloneBench数据集上,F
1值提升了0.5~15.5百分点,在Google Code Jam数据集上F
1值提升了1.5~16.5百分点,证明了该方法针对语义克隆检测的有效性。… …
相似文献