PDF
摘要
针对现有方法在源代码相似性检测中难以有效提取语法和结构信息的问题,提出一种基于孪生网络(Siamese Neural Network,SNN)的源代码相似性检测方法。利用抽象语法树(Abstract Syntax Tree,AST)作为源代码表征形式,设计适用于AST的位置编码机制和多维源代码特征提取机制。将AST中的每个节点转化成词嵌入向量,生成对应的位置编码向量,相加后输入Transformer模型,生成包含丰富语法和结构信息的向量,拼接多维源代码特征向量作为孪生网络的输入,实现源代码的相似性检测。实验结果表明,所提方法准确率达91.88%,较FCDetector、TreeCen和C4方法分别提升20.32%、9.15%和10.23%,在源代码相似性检测的性能上更具优势。
关键词
漏洞挖掘
/
源代码相似性
/
抽象语法树
/
孪生网络
/
位置编码
Key words
基于孪生网络的源代码相似性检测方法[J].
西安邮电大学学报, 2025, 30(02): 99-106 DOI:10.13682/j.issn.2095-6533.2025.02.012