-
公开(公告)号:CN118916077B
公开(公告)日:2024-12-13
申请号:CN202411396600.4
申请日:2024-10-09
Applicant: 厦门理工学院
Abstract: 本发明提供的基于分层解析的代码克隆检测方法、装置、设备及介质,涉及人工智能与语言处理技术领域,本发明方法通过获取待克隆检测的两份源代码片段;再分别进行解析得到AST;然后对AST分别进行分层提取,得到分层AST;遍历分层AST的每个节点,依次计算节点之间的相对距离,得到相对位置嵌入矩阵,进而得到相对位置分层AST;利用解耦注意力机制处理相对位置分层AST的每个节点,得到内容向量与位置嵌入向量,并分别计算它们之间的注意力权重,得到注意力矩阵;将所述两份源代码片段的相对位置分层AST与注意力矩阵输入暹罗网络进行克隆检测,最后通过相似度得到检测结果。本发明提高了代码克隆检测的效率和准确性,解决了梯度消失问题,降低了计算开销。
-
公开(公告)号:CN118916077A
公开(公告)日:2024-11-08
申请号:CN202411396600.4
申请日:2024-10-09
Applicant: 厦门理工学院
Abstract: 本发明提供的基于分层解析的代码克隆检测方法、装置、设备及介质,涉及人工智能与语言处理技术领域,本发明方法通过获取待克隆检测的两份源代码片段;再分别进行解析得到AST;然后对AST分别进行分层提取,得到分层AST;遍历分层AST的每个节点,依次计算节点之间的相对距离,得到相对位置嵌入矩阵,进而得到相对位置分层AST;利用解耦注意力机制处理相对位置分层AST的每个节点,得到内容向量与位置嵌入向量,并分别计算它们之间的注意力权重,得到注意力矩阵;将所述两份源代码片段的相对位置分层AST与注意力矩阵输入暹罗网络进行克隆检测,最后通过相似度得到检测结果。本发明提高了代码克隆检测的效率和准确性,解决了梯度消失问题,降低了计算开销。
-