程序代码相似度中的代码转换技术的研究

来源 :内蒙古师范大学 | 被引量 : 0次 | 上传用户:jingjing17_
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
程序代码的分词转换技术是实现程序代码相似度判别系统的一个重要技术,一个好的分词转换技术不仅可以提高相似度判别系统中对程序进行相似度计算的速度,还可以提高相似度计算的精度,这对相似度判别系统的发展具有重要的现实意义。在程序代码相似度判别系统中,程序代码的分词转换技术得到了广泛的应用。我们可以把一个程序看作一个文本串,然后再通过一定的文法分析将这个文本串转换成描述程序基本信息的标记(token)串。所以对程序相似性的比较就转变成比较两个程序的标记串。而比较标记串的过程就是程序代码的分词转换的过程。本研究首先介绍了关于程序代码相似度判别技术,包括程序代码相似度判别的定义与分类,国内外研究发展的现状以及现有的程序代码相似度判别系统的相关介绍。然后对程序代码分词转换过程中所用到算法情况进行了介绍,包括分词算法,字符串匹配算法等。本研究设计了一个实验系统,该实验系统主要由四部分组成,第一部分,完成实验系统对程序代码的预处理及分词功能,预处理即去掉那些在程序中存在,但对相似度判别无影响的信息,如程序中的注释语句、连续的空格、空行等,接着对预处理后的程序代码进行分词;第二部分,创建程序代码转换所需的词表;第三部分,将程序代码的预处理及分词之后的程序采用字符串匹配算法转换为字符串标识;第四部分是通过用户界面可得到源程序代码转换后的结果输出。最后,通过一些实验对该实验系统进行简单的验证与分析。其中实验的数据来自于学生所做的程序作业,实验结果反映出该实验系统不仅可以支持多种程序语言的转换,而且转换后的实验结果可用于基于字符串相似度判别的算法中,为后续的研究,即对转换后的标记串进行相似度计算,从而得到相似程度的数据,提供了可靠的测试信息。
其他文献
作为日趋成熟的分布式系统,Hadoop拥有强大的海量数据存储与分析处理能力,在许多公司的应用之中都有良好的表现。本文所研究的HDFS(Hadoop Distributed File System)是Hadoop
学位
随着Internet的日益普及,人们获取信息越来越便利,但同时也给怀有恶意的人提供了新的途径。一方面黑客利用系统的安全漏洞,不仅运用基本网络协议,还会在应用层协议基础上进行
数字修复技术主要是利用现代图像和视频处理技术修复图片和视频中存在的诸如划痕、斑点、闪烁等问题,其主要工作原理是利用数字图像待修复区域的邻域或受损连续影像的前后帧
随着大规模集成电路技术的发展,可用的片上资源越来越多,如何把丰富的晶体管资源转化为实际的计算能力,是当前体系结构研究中面临的基本问题。传统的超标量和超长指令字结构,
本文在分析了传统的Overlap-Layout-Consensus方式和Euler方式对重复序列的处理策略之后,重点研究了基于定长子串和变长子串的两种Repeats预处理方法。并在这两种方法的基础
论文研究主要是从区域网的中心路由器,以流的形式采集ICMP数据信息,并使用CURE聚类算法对ICMP数据流进行聚类分析,把结果相似度较高的ICMP数据包聚在一个簇中,再进行深度处理