基于图像相似度检测代码克隆
发布时间:2021-03-07 17:54
代码克隆(clone code)是指软件代码库中存在的两个或两个以上完全相同或彼此之间结构不同但功能相同的源代码片段。在开发软件与维护系统的过程中,开发人员经常使用“复制-粘贴”或者使用开发框架的开发方式,使得软件系统中频繁出现代码克隆的情况。代码克隆不仅能够减小重新编写代码所产生的潜在风险,还可以缩短软件开发所需的时间,具有一定的积极影响。但是有研究表明,大量的代码克隆会对软件系统产生消极的影响,例如重复使用包含未知bugs的代码片段,可能会造成软件缺陷传播的现象,从而使系统的稳定性降低。此外,若没有对系统中存在的代码克隆进行良好的管理,代码库会不断扩大,从而造成代码库冗余,增加了维护成本。因此,检测、识别并呈现软件系统中所存在的代码克隆是代码克隆领域中的一个重要研究内容。研究者们为了消除代码克隆,降低其所带来的负面效应,主要从文本、Token、树、度量值以及图五种表征方式展开研究,然而长期以来代码克隆检测效果并未取得新的进展。为此,本研究从图像处理角度提出了一种新型的代码克隆检测方法(Clone Code Detection Based on Image Similarity,CC...
【文章来源】:内蒙古师范大学内蒙古自治区
【文章页数】:63 页
【学位级别】:硕士
【部分图文】:
克隆检测结果覆盖图
克隆稀疏图
图 2-5 克隆稀疏图 (3)线状图 线状图仅能反映一个克隆片段的信息,横纵坐标分别代码代码克隆所在行数与该片段所在文件中的位置;条状图可以呈现克隆群在文件中的分布情况,每一列表示一个文件,每一个克隆群用一种颜色表示。Zhang 等人提出的 Clone Visualizer[54]就采用了线状图与条状图对代码克隆进行呈现。然而这两种方式只适用于克隆数据较少的展示。
【参考文献】:
期刊论文
[1]代码克隆检测研究进展[J]. 陈秋远,李善平,鄢萌,夏鑫. 软件学报. 2019(04)
[2]基于词向量的Jaccard相似度算法[J]. 田星,郑瑾,张祖平. 计算机科学. 2018(07)
[3]快速特征提取与感知哈希结合的图像配准算法[J]. 宋博,姜万里,孙涛,熊正强,芮华建. 计算机工程与应用. 2018(07)
[4]基于改进的Jaccard系数文档相似度计算方法[J]. 俞婷婷,徐彭娜,江育娥,林劼. 计算机系统应用. 2017(12)
[5]面向管理的克隆代码研究综述[J]. 苏小红,张凡龙. 计算机学报. 2018(03)
[6]基于Token编辑距离检测克隆代码[J]. 张久杰,王春晖,张丽萍,侯敏,刘东升. 计算机应用. 2015(12)
[7]基于后缀数组的克隆检测[J]. 史庆庆,张丽萍,尹丽丽,刘东升. 计算机工程. 2013(09)
博士论文
[1]代码克隆扩展分析及管理技术研究[D]. 张刚.复旦大学 2013
本文编号:3069552
【文章来源】:内蒙古师范大学内蒙古自治区
【文章页数】:63 页
【学位级别】:硕士
【部分图文】:
克隆检测结果覆盖图
克隆稀疏图
图 2-5 克隆稀疏图 (3)线状图 线状图仅能反映一个克隆片段的信息,横纵坐标分别代码代码克隆所在行数与该片段所在文件中的位置;条状图可以呈现克隆群在文件中的分布情况,每一列表示一个文件,每一个克隆群用一种颜色表示。Zhang 等人提出的 Clone Visualizer[54]就采用了线状图与条状图对代码克隆进行呈现。然而这两种方式只适用于克隆数据较少的展示。
【参考文献】:
期刊论文
[1]代码克隆检测研究进展[J]. 陈秋远,李善平,鄢萌,夏鑫. 软件学报. 2019(04)
[2]基于词向量的Jaccard相似度算法[J]. 田星,郑瑾,张祖平. 计算机科学. 2018(07)
[3]快速特征提取与感知哈希结合的图像配准算法[J]. 宋博,姜万里,孙涛,熊正强,芮华建. 计算机工程与应用. 2018(07)
[4]基于改进的Jaccard系数文档相似度计算方法[J]. 俞婷婷,徐彭娜,江育娥,林劼. 计算机系统应用. 2017(12)
[5]面向管理的克隆代码研究综述[J]. 苏小红,张凡龙. 计算机学报. 2018(03)
[6]基于Token编辑距离检测克隆代码[J]. 张久杰,王春晖,张丽萍,侯敏,刘东升. 计算机应用. 2015(12)
[7]基于后缀数组的克隆检测[J]. 史庆庆,张丽萍,尹丽丽,刘东升. 计算机工程. 2013(09)
博士论文
[1]代码克隆扩展分析及管理技术研究[D]. 张刚.复旦大学 2013
本文编号:3069552
本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/3069552.html