-
公开(公告)号:CN111324380A
公开(公告)日:2020-06-23
申请号:CN202010122695.6
申请日:2020-02-27
Applicant: 复旦大学
IPC: G06F8/75
Abstract: 本发明属于软件代码分析技术领域,具体为一种高效的多版本跨项目软件代码克隆检测方法。本发明首先获取含有多个版本的软件项目的版本信息,接着基于方法名及文件路径构建将不同版本、代码内容相同或高度相似的同一方法建立方法版本组,再选取每个方法版本组中最早的版本作为样本方法,样本方法的集合称为历史映像,然后对所有的历史映像进行克隆检测,同时建立起样本方法和方法版本组间的索引关系,称之为方法索引。最终根据样本方法的克隆检测结果和方法索引恢复原始的全量克隆关系。本发明考虑到项目的多个版本中有大量的重复代码,在代码克隆检测时屏蔽重复代码,提高了多版本跨项目代码克隆检测的效率。