第二章 代码相似度检测概述 5
2。1 程序代码抄袭的描述 5
2。2 代码相似度的定义 5
2。3 现有的程序抄袭检测系统简介 6
2。4 本章小结 8
第三章代码相似度检测的实现 9
3。1 代码相似度检测的系统需求 9
3。2 相似度检测的实现 9
3。3 预处理模块… 10
3。4 特征向量的属性计数 11
3。5 基于 LCS 算法的度量实现 11
3。6 标记化转换… 12
3。7 本章小结… 14
第四章 实验结果与分析 15
4。1 实验程序集的选择 15
4。2 程序集 A 实验分析… 15
4。3 程序集 B 实验分析 18
4。4 研究结果分析 18
4。5 本章小结 19
第五章 总结与展望 20
5。1 研究工作总结 20
5。2 研究工作展望 20
致谢 21
参考文献 22
第 II 页 本科毕业设计说明书
本科毕业设计说明书 第 1 页
第一章 绪论
1。1 研究的背景和意义
当今科学技术飞速的发展,很多先进的科技都在教学领域中运用起来,对于计算机专业 的学生来讲,将会有很多基于编码实现的课程。在这些课程中学生将会完成大量的编码工作, 在编码的过程中,有些同学或因为偷懒,或因为对于知识掌握的不扎实,从而抄袭别人的代 码或将他人代码进行改编,或从网上直接下载代码就上交教师。这样教师在批改编码时,学 生只需要稍微修改一点,教师都要花费很长的时间去判定是否存在抄袭或者改写的状况,导 致批改的效率会大大降低。如果存在一个程序可以先判断上交的编码是否存在抄袭现象,那 么对于教师的工作效率将是重大提升,同时也打消那些想要抄袭他人代码的同学的想法。
本文的研究内容是根据程序语言的独有的特点,实现一个可以检测两个程序间的相似度, 并计算出相似度值的程序。通过比较计算出的数值,可以帮助教师判断两个程序是有关联, 进而节约教师审批的时间。程序语言与自然语言相比,有许多特有的性质,比如程序语言的 关键字的写法是固定的,并且一个程序中会有多个关键字,程序语言的语法规则和语言结构 相比之下较为简单易懂。对程序语言进行检测时相较于词汇丰富,结构灵活多变的自然语言 来比要更容易一些,如今在国内外早已对程序代码相似度的检测进行过研究,并且一些研究 出的系统已经很完善。