[发明专利]基于哈希值的代码克隆检测方法、电子设备、存储介质在审
申请号: | 201811308117.0 | 申请日: | 2018-11-05 |
公开(公告)号: | CN109445844A | 公开(公告)日: | 2019-03-08 |
发明(设计)人: | 陈秋远;杨朝晖;李善平 | 申请(专利权)人: | 浙江网新恒天软件有限公司 |
主分类号: | G06F8/75 | 分类号: | G06F8/75 |
代理公司: | 广州市越秀区哲力专利商标事务所(普通合伙) 44288 | 代理人: | 胡拥军;糜婧 |
地址: | 310000 浙江省杭*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提供基于哈希值的代码克隆检测方法,包括步骤:读取源代码,通过解析器抽取源代码中的代码库,得到克隆检测对象;通过哈希算法对克隆检测对象进行处理,获得克隆检测对象对应的匿名哈希值,通过匿名哈希值进行聚类,获得若干代码克隆分组;将代码克隆分组中的代码在组内两两进行比较,判断两段代码各自的行数或者有差异的代码行数是否小于阈值,是则判定为相似的代码克隆,否则判定不是代码克隆。本发明涉及电子设备与可读存储介质,用于执行上述方法。本发明能够检测到有标识符差异的代码克隆与有行数差异的代码克隆,能够针对COBOL源代码进行代码克隆检测,无平台及特定版本语言的限制,迁移性好,通过对哈希值进行聚类,降低整体复杂度。 | ||
搜索关键词: | 克隆检测 哈希 克隆 源代码 电子设备 聚类 行数 判定 标识符 读取 可读存储介质 存储介质 哈希算法 分组 代码库 代码行 复杂度 解析器 迁移性 两段 抽取 检测 语言 | ||
【主权项】:
1.基于哈希值的代码克隆检测方法,其特征在于包括以下步骤:代码预处理,读取源代码,通过解析器抽取所述源代码中的代码库,得到克隆检测对象;克隆聚类,通过哈希算法对所述克隆检测对象进行处理,获得所述克隆检测对象对应的匿名哈希值,通过所述匿名哈希值进行聚类,获得若干代码克隆分组;克隆比较,将所述代码克隆分组中的代码在组内两两进行比较,判断两段代码各自的行数或者有差异的代码行数是否小于阈值,是则判定为相似的代码克隆,否则判定不是代码克隆。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江网新恒天软件有限公司,未经浙江网新恒天软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201811308117.0/,转载请声明来源钻瓜专利网。