基于改进向量空间模型的克隆群映射方法

2016-07-19 21:08:37陈桌张丽萍王欢张久杰王春晖
计算机应用 2016年7期
关键词:特征方法

陈桌 张丽萍 王欢 张久杰 王春晖

摘要:针对Type3克隆代码映射方法少且效率低等问题,提出了一种基于改进向量空间模型(VSM)的映射方法。该方法将改进的VSM引入到克隆代码分析中,从而得到一种可有效映射Type1、Type2以及Type3克隆代码的克隆群映射方法。首先,将克隆群文档预处理得到去除无用词的代码文档,同时提取克隆群文档的文件名、函数名等特征项;其次,提取并构建克隆群词频向量空间,利用余弦算法计算出克隆群相似度;然后,通过克隆群相似度和特征项的匹配构建克隆群映射,最终得到克隆群映射结果。对5款开源软件进行实验并人工验证,所提方法能在低时耗的前提下,保证查全率和查准率均不低于96.1%和97.1%。实验结果表明了所提方法的可行性,为后期软件演化分析提供数据支撑。

关键词:

克隆代码;克隆群映射;向量空间模型;特征项;词频

中图分类号: TP311.5 文献标志码:A

0引言

在软件开发和维护过程中,开发人员经常采用复制粘贴的方式修改代码,导致重复的代码片段出现,即克隆代码[1]。以前的研究[2]已经表明,一个软件系统中会有9%~15%的克隆代码,有时甚至高达50%以上,相同或相似的代码会增加软件的维护费用。例如,如果一个bug在代码片段中被检测出来,所有和它相似的片段都应该被调查,检查相同的错误,加强或调整这些代码。所以对系统版本中的克隆进行追踪非常有意义。

相邻版本间的克隆群映射是研究克隆代码演化[3]工作的关键步骤,克隆演化研究关注的是一段克隆代码在软件多个版本中的变化情况,而克隆群映射是整个演化过程的纽带。……

登录APP查看全文

猜你喜欢
特征方法
如何表达“特征”
不忠诚的四个特征
当代陕西(2019年10期)2019-06-03 10:12:04
学习方法
用对方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
赚钱方法
捕鱼
线性代数的应用特征
河南科技(2014年23期)2014-02-27 14:19:15