程序代码抄袭检测中串匹配算法的研究
2015-03-13曹海英元元
信息安全与技术 2015年2期
曹海英+++元元
【 摘 要 】 为了保证程序设计课程实践教学质量,避免学生抄袭,可以检测学生的源程序,代码的相似度是抄袭检测的关键技术。文章介绍了一种串匹配算法——GST算法,包括GST算法的核心思想以及伪代码实现。
【 关键词 】 程序代码抄袭检测;GST算法;相似度
1 引言
程序设计课程是高等学校计算机专业中的核心课程,这些课程的实践教学环节都需要学生在程序环境内编写程源代码,而这些在计算机上的代码很容易被复制抄袭,为了保证实践教学的质量和学生评价的公平客观,防止学生作弊抄袭,需要对程序代码进行抄袭检测。若教师人工进行比较检查,工作量非常大,且不能做到完全准确。现在通过比较代码优化后的目标代码检测已经非常有效,能在很大程度上提高教师的检测抄袭的效率,节省大量的工作时间。源代码抄袭检测可以使用代码相似度度量技术,若想判断两个源程序代码是不是存在复制,实质上就是对其相似程度进行度量,按照度量结果给出一个相似度的数值表示,然后由这个值判断程序之间是否存在抄袭。
文中的代码抄袭检测程序就是采用串匹配算法—GST算法(贪婪式字符串匹配算法)来寻找两段程序代码的最大公共子串,然后计算两个程序的相似度。
2 程序代码抄袭检测技术概述
2.1 程序代码抄袭
比较普遍的抄袭是直接拷贝,也有将程序简单修改,比如增加注释或更改标识符等。其实,对于大多数的抄袭都属于“词汇级”的。……
登录APP查看全文