买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
申请/专利权人:西安交通大学
摘要:本发明提供了一种开放式编程题的相似性检测方法,涉及代码相似性检测技术领域,该方法包括:对源代码进行数据抽取和预处理,得到源代码信息;对二进制代码进行数据抽取和预处理,得到二进制代码信息;分别构建源代码语义编码网络和二进制代码语义编码网络,并分别对源代码信息和二进制代码信息进行编码,得到源代码表示向量和二进制代码表示向量;分别对源代码表示向量和二进制代码表示向量进行特征融合操作,得到源代码融合向量和二进制代码融合向量;对源代码融合向量和二进制代码融合向量进行相似性检测,得到检测结果。该方法提高了检测模型的准确性和相似性检测的准确率和检测效率。
主权项:1.一种开放式编程题的相似性检测方法,其特征在于,包括如下步骤:对源代码进行数据抽取和预处理,得到源代码信息;对二进制代码进行数据抽取和预处理,得到二进制代码信息;所述源代码信息和所述二进制代码信息均包括:字符串字面量、token序列信息和结构信息;所述结构信息通过控制流图进行表示;分别构建源代码语义编码网络和二进制代码语义编码网络,并分别对所述源代码信息和所述二进制代码信息进行编码,得到源代码表示向量和二进制代码表示向量;构建所述二进制代码语义编码网络的具体步骤为:根据所述token序列信息构建二进制样本对数据集;所述二进制样本对包括:正样本和负样本;通过表示学习模型对所述二进制样本对数据集进行特征提取与合并,得到特征向量;所述特征向量包括:字符串字面量特征向量、token序列信息特征向量和结构信息特征向量三种模态特征向量;通过基于对比学习的网络模块,对所述特征向量进行优化编码,得到优化向量;所述基于对比学习的网络模块包括:TextCNN、GCN和Bi-LSTM模块;通过向量拼接、多层感知机处理和sigmoid函数,得到区间相似结果;分别对所述源代码表示向量和二进制代码表示向量进行特征融合操作,得到源代码融合向量和二进制代码融合向量;所述特征融合包括联合表示法和向量直接拼接法;所述联合表示法的具体计算公式为:xm=fx1,x2,x3,...,xn;其中,f为融合机制,xn为第n个代码信息经过表示学习生成的模态特征向量,xm为通过联合表示法完成特征融合的融合向量;所述向量直接拼接法的具体计算公式为:Cons=[ctok;cstr;Ccfg];其中,Cons为通过向量拼接法完成特征融合的特征向量,ctok为字符串字面量信息的表示向量,cstr为token序列信息的表示向量,ccfg为控制流图的表示向量;对所述源代码融合向量和所述二进制代码融合向量进行相似性检测,得到检测结果。
全文数据:
权利要求:
百度查询: 西安交通大学 一种开放式编程题的相似性检测方法
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。