[发明专利]一种基于神经网络语言模型的重复代码检测方法有效
申请号: | 201710464437.4 | 申请日: | 2017-06-19 |
公开(公告)号: | CN107273294B | 公开(公告)日: | 2020-07-28 |
发明(设计)人: | 屈鸿;符明晟;涂强;刘洋军;张亦洲;王一文;高榕;陈珊 | 申请(专利权)人: | 电子科技大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06N3/02 |
代理公司: | 成都弘毅天承知识产权代理有限公司 51230 | 代理人: | 徐金琼;刘东 |
地址: | 611731 四川省成*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种基于神经网络语言模型的重复代码检测方法,属于重复代码检测方法技术领域,解决现有技术中的重复代码检测方法,不能检测出没有进行本质性改变的重复代码,造成检测的准确率,容易给代码原创者造成经济损失等问题。本发明包括步骤1:将所有的代码中的每个代码转换为相应的CFG图;步骤2:抽取每个CFG图中每一个结点的根子图;步骤3:将所有根子图采用向量表示;步骤4:将根子图的向量表示输入到深度图核函数中学习,得到所有CFG图两两间的相似度;步骤5:将CFG图两两间的相似度输入到AP关联聚类算法中进行CFG图的聚类得到多个聚类簇,在同一个聚类簇中的CFG图所对应的代码即为重复代码。本发明用于发现重复代码。 | ||
搜索关键词: | 一种 基于 神经网络 语言 模型 重复 代码 检测 方法 | ||
【主权项】:
一种基于神经网络语言模型的重复代码检测方法,其特征在于:包括以下步骤:步骤1:将所有的代码中的每个代码转换为相应的CFG图;步骤2:抽取每个CFG图中每一个结点的根子图;步骤3:将所有根子图采用向量表示;步骤4:将根子图的向量表示输入到深度图核函数中学习,得到所有CFG图两两间的相似度;步骤5:将CFG图两两间的相似度输入到AP关联聚类算法中进行CFG图的聚类得到多个聚类簇,在同一个聚类簇中的CFG图所对应的代码即为重复代码。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于电子科技大学,未经电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201710464437.4/,转载请声明来源钻瓜专利网。