-
公开(公告)号:CN118051257A
公开(公告)日:2024-05-17
申请号:CN202311825583.7
申请日:2023-12-27
Applicant: 清华大学
IPC: G06F8/75
Abstract: 本发明提供一种融合深度子树交互的代码克隆检测方法、装置及电子设备,其中的方法包括:获取基准代码块对应的第一抽象语法树,以及待检测代码块对应的第二抽象语法树;将第一抽象语法树划分为多棵第一子树,并将第二抽象语法树划分为多棵第二子树;计算第一子树与第二子树的子树相似度,以及第一抽象语法树与第二抽象语法树的语法树相似度;根据子树相似度和语法树相似度,获取待检测代码块的代码克隆检测结果。该方法通过以代码块为检测粒度,在比较抽象语法树级别的相似度的基础上,将子树级别的相似度也纳入代码克隆检测范畴,极大地提升了代码克隆检测的精确度和召回度,具有广泛的应用价值。