一种基于深度学习的克隆代码语义检测方法

基本信息

申请号 CN202011205774.X 申请日 -
公开(公告)号 CN112215013A 公开(公告)日 2021-01-12
申请公布号 CN112215013A 申请公布日 2021-01-12
分类号 G06F40/30;G06F40/284;G06N3/04 分类 计算;推算;计数;
发明人 成肖云;王建荣;王赞;贾勇哲;马国宁 申请(专利权)人 天津泰凡科技有限公司
代理机构 天津市北洋有限责任专利代理事务所 代理人 天津大学
地址 300072 天津市南开区卫津路92号
法律状态 -

摘要

摘要 本发明公开了一种基于深度学习的语义克隆检测方法,对于给定代码块对,首先将代码块预处理成TPE的基本单元的序列,然后对它们进行词嵌入操作,用于上下文特性组合的BiLSTM模块;接着,用自注意力机制来集中提取神经网络学习到的克隆代码相关有用信息;将每一个代码片段都被转化为一个向量表示,计算向量之间的欧几里得距离作为分类的特征,对它们进行二分类:如果两个代码块相似,则其经过神经网络生成的向量应该相近,即预测克隆/非克隆。与现有技术相比,本发明的更节省时间,同时可以捕获丰富的语法和语义信息;TPE还可以避免词汇量不足(OOV)的问题。