买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
申请/专利权人:厦门理工学院
摘要:本发明提供的基于分层解析的代码克隆检测方法、装置、设备及介质,涉及人工智能与语言处理技术领域,本发明方法通过获取待克隆检测的两份源代码片段;再分别进行解析得到AST;然后对AST分别进行分层提取,得到分层AST;遍历分层AST的每个节点,依次计算节点之间的相对距离,得到相对位置嵌入矩阵,进而得到相对位置分层AST;利用解耦注意力机制处理相对位置分层AST的每个节点,得到内容向量与位置嵌入向量,并分别计算它们之间的注意力权重,得到注意力矩阵;将所述两份源代码片段的相对位置分层AST与注意力矩阵输入暹罗网络进行克隆检测,最后通过相似度得到检测结果。本发明提高了代码克隆检测的效率和准确性,解决了梯度消失问题,降低了计算开销。
主权项:1.一种基于分层解析的代码克隆检测方法,其特征在于,包括:S1,获取待克隆检测的两份源代码片段;S2,对所述两份源代码片段分别进行解析转换成对应的抽象语法树AST;其中,所述抽象语法树AST的每个节点代表源代码的一个语法元素;S3,对所述两份源代码片段对应的抽象语法树AST分别进行分层提取,分解为可管理的层,得到对应的分层AST;S4,遍历对应的分层AST的每个节点,依次计算每个节点到另一个节点之间的相对距离,得到相对位置嵌入矩阵,并将相对位置嵌入矩阵融入到分层AST对应的节点表示中,得到相对位置分层AST;其中,所述相对位置嵌入矩阵记录了每个节点在树结构中的层间节点位置信息与层内节点位置信息;相对位置分层AST的每个节点包含节点本身的内容信息与节点的相对位置嵌入信息;S5,根据相对位置分层AST,利用解耦注意力机制处理相对位置分层AST的每个节点,得到每个节点的内容向量与位置嵌入向量,并分别计算内容向量对内容向量、内容向量对位置嵌入向量以及位置嵌入向量对内容向量的注意力权重,从而得到相对位置分层AST的注意力矩阵;S6,将所述两份源代码片段的相对位置分层AST与对应的注意力矩阵输入暹罗网络进行克隆检测,计算相似度,根据所述相似度得到所述两份源代码片段的克隆检测结果。
全文数据:
权利要求:
百度查询: 厦门理工学院 基于分层解析的代码克隆检测方法、装置、设备及介质
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。