国内刊号:51-1307/TP
国际刊号:1001-9081
发布日期:
作者:王亚芳, 刘东升, 侯敏
单位:内蒙古师范大学 计算机科学技术学院, 呼和浩特 010022
关键词:代码克隆,克隆检测,Jaccard距离,感知哈希算法,语法高亮
基金:国家自然科学基金资助项目(61363017);内蒙古自治区自然科学基金资助项目(2016MS0612);内蒙古教育厅资助项目(NJZY18025)。
目前在代码克隆检测领域,学者们主要从文本、词汇、语法和语义四种角度展开研究,然而长期以来代码克隆检测效果并未取得新的突破。针对这一问题,从图像处理角度提出了一种基于图像相似度的新型代码克隆检测(CCIS)方法。首先对源代码进行移除注释、空白符等操作,以获取"干净"的函数片段,并将函数中的标识符、关键字等进行高亮处理;然后将处理好的源代码转换为图像,并对图像进行规范化处理;最后使用Jaccard距离和感知哈希算法进行检测,得到代码克隆信息。为了验证实验的有效性,使用6款开源软件构建评价数据集进行测试。实验结果表明,CCIS方法能够检测出100%的类型一代码克隆、88%的类型二代码克隆与60%的类型三代码克隆,因此CCIS方法可以很好地进行代码克隆检测。
来源:2019年第7期
《计算机应用》期刊编辑部