首页> 中文学位 >程序代码相似度中的代码转换技术的研究
【6h】

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

代理获取

目录

文摘

英文文摘

论文说明:图表、公式及算法目录

声明

第一章绪论

1.1引言

1.2国内外的研究现状

1.2.1国外情况

1.2.2国内情况

1.2.3国内外研究现状比较分析

1.3本研究的意义

1.4本研究的内容

1.5几个重要概念

1.6本文的组织结构

第二章程序代码相似度判别技术概述

2.1相似度的定义与分类

2.1.1相似度的定义

2.1.2相似度的分类

2.2常见的相似度判别系统

2.2.1 Accuse

2.2.2 Plague

2.2.3 YAP系列

2.2.4 MOSS

2.2.5 JPlag

2.2.6 Bandit

2.2.7 DUP

2.2.8 SIM

2.2.9 Brass

2.3小结

第三章相关算法及技术介绍

3.1分词算法

3.1.1基于字符串匹配的分词算法

3.1.2基于理解的分词算法

3.1.3基于统计的分词算法

3.2权重计算

3.3字符串匹配算法

3.3.1字符串匹配问题描述

3.3.2字符串匹配算法的分类

3.4相似度计算

3.4.1相似度计算数学描述

3.4.2字符串相似度计算算法描述

3.4.3 GST算法

3.5评价方法

3.6小结

第四章程序代码转换实验系统

4.1系统需求分析

4.2系统设计与实现

4.2.1程序的预处理及分词

4.2.2创建词表

4.2.3程序代码转换

4.2.4用户界面

4.2.5输出结果

4.3开发环境的选择

4.4小结

第五章实验与结果分析

5.1实验程序集选择

5.2程序集A实验分析

5.3程序集B实验分析

5.4本章小结

第六章结束语

6.1研究工作总结

6.2不足与进一步的工作

参考文献

攻读学位期间发表的学术论文

致谢

展开▼

摘要

程序代码的分词转换技术是实现程序代码相似度判别系统的一个重要技术,一个好的分词转换技术不仅可以提高相似度判别系统中对程序进行相似度计算的速度,还可以提高相似度计算的精度,这对相似度判别系统的发展具有重要的现实意义。 在程序代码相似度判别系统中,程序代码的分词转换技术得到了广泛的应用。我们可以把一个程序看作一个文本串,然后再通过一定的文法分析将这个文本串转换成描述程序基本信息的标记(token)串。所以对程序相似性的比较就转变成比较两个程序的标记串。而比较标记串的过程就是程序代码的分词转换的过程。 本研究首先介绍了关于程序代码相似度判别技术,包括程序代码相似度判别的定义与分类,国内外研究发展的现状以及现有的程序代码相似度判别系统的相关介绍。然后对程序代码分词转换过程中所用到算法情况进行了介绍,包括分词算法,字符串匹配算法等。 本研究设计了一个实验系统,该实验系统主要由四部分组成,第一部分,完成实验系统对程序代码的预处理及分词功能,预处理即去掉那些在程序中存在,但对相似度判别无影响的信息,如程序中的注释语句、连续的空格、空行等,接着对预处理后的程序代码进行分词;第二部分,创建程序代码转换所需的词表;第三部分,将程序代码的预处理及分词之后的程序采用字符串匹配算法转换为字符串标识;第四部分是通过用户界面可得到源程序代码转换后的结果输出。 最后,通过一些实验对该实验系统进行简单的验证与分析。其中实验的数据来自于学生所做的程序作业,实验结果反映出该实验系统不仅可以支持多种程序语言的转换,而且转换后的实验结果可用于基于字符串相似度判别的算法中,为后续的研究,即对转换后的标记串进行相似度计算,从而得到相似程度的数据,提供了可靠的测试信息。

著录项

相似文献

  • 中文文献
  • 外文文献
  • 专利
代理获取

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号