共查询到10条相似文献,搜索用时 359 毫秒
1.
克隆代码是指在软件源程序中存在的相同或相似的代码片段。克隆代码在很多软件工程中,例如程序理解,代码质量分析,剽窃检测,漏洞查找和病毒检测,都需要通过找出语义或语法上相似的代码片段来实现。目前常用的检测方法有四种:基于文本(text-based)的检测,基于字符序列(token-based)的检测,基于语法树(tree-based)的检测和基于关系图(PDG-based)的检测。基于字符序列的克隆检测首先对源程序进行预处理转换,再经过匹配算法得到克隆检测结果。克隆代码的检测是软件分析的一个重要的部分。 相似文献
2.
克隆代码是指在软件源程序中存在的相同或相似的代码片段。克隆代码在很多软件工程中,例如程序理解,代码质量分析,剽窃检测,漏洞查找和病毒检测,都需要通过找出语义或语法上相似的代码片段来实现,目前常用的检测方法有四种:基于文本(text—based)检测,基于字符序列(token-based)的检测,基于语法树(tree-based)的检测和基于关系图(PDG—based)的检测。基于字符序列的克隆检测首先对源程序进行预处理转换,再经过匹配算法得到克隆检测结果:克隆代码的检测是软件分析的一个重要的部分。 相似文献
3.
4.
程序代码相似性的识别是利用一定的检测识别手段,判断两个源程序代码之间的相似性,并度量两个程序代码之间的相似程度。代码抄袭是程序设计课程中频繁出现的一种作弊行为,检测源代码的抄袭对验证学生程序作业的独创性非常重要。本文针对计算机教学考核中对程序设计客观性和真实性的要求,应用最长公共子序列算法来对比两个源程序文件在结构上的相似性,同时设计可用于教学考核的程序代码相似度评判系统。 相似文献
5.
针对时间序列子序列聚类存在的平凡相似和水平伸缩等问题,提出了一种新的子序列聚类算法。它采用多孔平滑滤波器组对时间序列进行低通平滑处理,在所得到的多个尺度序列上生成平凡簇,然后将各个平凡簇的代表子序列作为数据样本进行聚类。新方法利用平凡簇克服了子序列聚类中的平凡相似问题,并且可以在时间序列上发现不等长的相似子序列,较好地解决了水平轴伸缩问题。实验结果证明新算法对于子序列聚类具有比较好的效果。 相似文献
6.
对当前聚类算法进行研究的基础上,提出了有效地实现多元时间序列聚类的方法.用离散哈达玛变换对多元数据进行降维,求出多元变量相关系数矩阵的特征值作为权值.采用带权值的矩阵相似性度量方法,利用改进的K-means算法对多元时间序列进行聚类分析.实验结果表明,该方法能够有效地实现多元时间序列聚类,把具有相似趋势变化的多元时间序列对象划分到同一类中. 相似文献
7.
8.
一种新的基于隐Markov模型的分层时间序列聚类算法 总被引:4,自引:0,他引:4
针对传统的基于隐Markov模型(HMM)的聚类算法在时间序列聚类的不足,提出了一种新的基于HMM的分层时间序列聚类算法HBHCTS,旨在提高聚类质量,同时对聚类结果给出类的表示、HBHCTS算法应用HMM对时间序列进行建模,并按照“最相似”的原则得到序列所对应的初始模型集,进而对这些初始模型合并更新及迭代得到聚类结果.实验中主要研究了聚类正确率与序列长度及模型距离的关系,结果表明HBHCTS算法比传统的基于HMM的聚类算法准确性高. 相似文献
9.
时间序列相似度是时间序列数据挖掘的重要研究方向之一。如何利用时间序列相似度对提高时间序列数据聚类有着重要的意义。提出一种基于时间序列相似度的半监督谱聚类算法,通过选取适当的时间序列特征构造相似度与距离,在谱聚类算法的基础上利用标签数据选取初始类簇。实验表明,该算法使具有相似特征的时间序列可以很有效地被聚集到同一类中。 相似文献
10.
叶青青 《计算机应用与软件》2008,25(9)
如果软件源程序中的一个代码段和同一程序中的另一个代码段在结构或语义上类似,这些代码段就成了代码克隆.概述代码克隆存在的各种形式,分析代码克隆产生的原因,并在概括了代码克隆检测的一般过程以后进一步阐述两类代码克隆检测方法:基于语义抽象树的检测方法和基于Token序列的检测方法. 相似文献