10.3969/j.issn.1000-386x.2022.04.003
面向大规模多版本软件系统的代码克隆检测加速技术
在软件系统中,相同或相似的代码片段称为代码克隆.目前研究人员已经提出了一些克隆检测方法.这些方法通常仅针对软件系统单个版本进行克隆检测,而在部分场景下,如构建克隆演化谱系时,需要对系统每个版本进行克隆检测,则尤为耗时.为此,提出一种针对多版本软件系统的克隆检测加速技术,可以快速得到每个版本的克隆情况.该技术通过版本间方法映射技术为不同版本代码内容高度相似的同一方法构建方法版本组,选取每个方法版本组中最早的版本作为样本方法,样本方法的集合构成历史映像,对历史映像进行克隆检测,同时建立样本方法和方法版本组间的方法索引.根据历史映像克隆检测结果及方法索引恢复原始的全量克隆关系.采用该克隆检测加速技术在251个开源项目的3234个版本共计3亿行代码上进行克隆检测实验,与未加速相比,效率提升了近4倍.
代码克隆、克隆检测、历史映像、方法版本组
39
TP311(计算技术、计算机技术)
上海市科技发展基金项目;上海市科技发展基金项目
2022-06-29(万方平台首次上网日期,不代表论文的发表时间)
共7页
14-20