[发明专利]一种基于深度学习的语义相似代码在线检测方法有效

专利信息
申请号: 202110184538.2 申请日: 2021-02-10
公开(公告)号: CN112835620B 公开(公告)日: 2022-03-25
发明(设计)人: 李光杰;唐艺;张翔;易比一;侯胜杰 申请(专利权)人: 中国人民解放军军事科学院国防科技创新研究院
主分类号: G06F8/75 分类号: G06F8/75;G06F16/33;G06N3/08
代理公司: 北京正阳理工知识产权代理事务所(普通合伙) 11639 代理人: 张利萍
地址: 100071 北*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 深度 学习 语义 相似 代码 在线 检测 方法
【说明书】:

发明公开了一种基于深度学习的语义相似代码在线检测方法,属于软件工程软件缺陷预测技术领域。本发明基于标识符文本相似性和语义相似性,在线判断给定的两段代码片段(函数)是否为语义相似代码。首先,从样本库中提取每个函数的相关标识符文本和函数结构信息,将标识符文本信息进行分词、缩写词扩展和词性标注等自然语言处理,将程序结构信息进行抽象处理,并转换为向量表示,连接两个函数的向量表示输入到深度神经网络,进行语义相似性学习和自动检测。本发明充分利用了深度学习技术挖掘程序文本中隐含的相似语义信息,保证了在线检测的实时和准确性。

技术领域

本发明涉及一种语义相似代码在线检测方法,具体涉及一种基于深度学习的语义相似代码在线检测方法,属于软件工程软件缺陷预测技术领域。

背景技术

在软件缺陷预测技术领域中,克隆代码,是指功能相同或相似的代码片段,可分为文本相同的克隆代码、文本相似的克隆代码、句法相似的克隆代码和语义相似的克隆代码等四类。

克隆代码的存在,不仅增加了软件的冗余度,而且给软件维护和软件演化带来一定困难。为此,人们提出了不同的方法用于检测、消除和管理克隆代码。其中,有效检测克隆代码,是管理和消除克隆代码的前提与基础。

现有的克隆代码检测方法,主要针对文本相同的克隆代码、文本相似的克隆代码、句法相似的克隆代码这三类克隆代码进行检测,能够有效检测文本相似的克隆代码。但是,其很难检测程序结构和算法不相似而语义相似的冗余克隆代码。研究结果表明,现有的克隆代码检测方法能检测的语义相似代码不足1%,即,有99%以上的语义相似代码无法通过现有的克隆代码检测方法进行检测。

由于检测语义相似的克隆代码涉及复杂的程序语义分析,因此,如何有效检测这类克隆代码,至今仍然是一个尚未解决的难题。

发明内容

本发明的目的是针对现有技术的不足,为解决针对语义相似的克隆代码检测的技术问题,提出一种基于深度学习技术的语义相似代码在线检测方法。

本方法的创新点在于:充分利用静态代码分析技术和深度学习技术,对大数据进行信息挖掘,支持对任何开源项目的实时检测。

本发明采取以下技术方案实现。

首先,基于静态代码分析技术,提取样本库中每个函数的程序结构特征和标识符文本信息。其中,样本库中存储开源项目源代码数据,包括已经标注好的语义相似代码和语义不相似代码。

然后,利用自然语言处理技术对函数结构信息进行预处理,将结构信息进行符号化处理,并进行信息向量化表示,将两个向量(函数)合成为一条训练数据。

之后,设计神经网络,将训练数据输入神经网络进行模型训练,根据网络输出结果调整网络参数和模型优化。

最后,将待检测项目代码输入训练好的神经网络模型进行检测。

有益效果

本发明方法,对比现有技术,具有以下优点:

(1)充分利用了静态程序分析和自然语言处理技术,挖掘程序中文本标识符中隐含的自然语言和程序语义信息,方法简单易操作。

(2)充分利用了深度神经网络拟合程序的语义相关和相似性规律,能够有效检测语义相似代码。

附图说明

图1为本发明方法的工作原理图。

具体实施方式

下面结合附图对本发明方法做进一步详细说明。

本发明,利用静态代码解析和自然语言处理技术挖掘程序文本标识符中隐含的自然语言和程序语义信息,然后基于深度学习技术训练神经网络模型进行语义相似关系映射,并根据网络输出结果进行语义相似性预测。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军军事科学院国防科技创新研究院,未经中国人民解放军军事科学院国防科技创新研究院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202110184538.2/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top