申请/专利权人:清华大学
申请日:2023-12-27
公开(公告)日:2024-05-17
公开(公告)号:CN118051257A
主分类号:G06F8/75
分类号:G06F8/75
优先权:
专利状态码:在审-实质审查的生效
法律状态:2024.06.04#实质审查的生效;2024.05.17#公开
摘要:本发明提供一种融合深度子树交互的代码克隆检测方法、装置及电子设备,其中的方法包括:获取基准代码块对应的第一抽象语法树,以及待检测代码块对应的第二抽象语法树;将第一抽象语法树划分为多棵第一子树,并将第二抽象语法树划分为多棵第二子树;计算第一子树与第二子树的子树相似度,以及第一抽象语法树与第二抽象语法树的语法树相似度;根据子树相似度和语法树相似度,获取待检测代码块的代码克隆检测结果。该方法通过以代码块为检测粒度,在比较抽象语法树级别的相似度的基础上,将子树级别的相似度也纳入代码克隆检测范畴,极大地提升了代码克隆检测的精确度和召回度,具有广泛的应用价值。
主权项:1.一种融合深度子树交互的代码克隆检测方法,其特征在于,包括:获取基准代码块对应的第一抽象语法树,以及待检测代码块对应的第二抽象语法树;将所述第一抽象语法树划分为多棵第一子树,并将所述第二抽象语法树划分为多棵第二子树;计算所述第一子树与所述第二子树的子树相似度,以及所述第一抽象语法树与所述第二抽象语法树的语法树相似度;根据所述子树相似度和所述语法树相似度,获取所述待检测代码块的代码克隆检测结果。
全文数据:
权利要求:
百度查询: 清华大学 融合深度子树交互的代码克隆检测方法、装置及电子设备
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。