APP下载

程序代码抄袭检测中串匹配算法的研究

2015-03-13曹海英元元

信息安全与技术 2015年2期

曹海英+++元元

【 摘 要 】 为了保证程序设计课程实践教学质量,避免学生抄袭,可以检测学生的源程序,代码的相似度是抄袭检测的关键技术。文章介绍了一种串匹配算法——GST算法,包括GST算法的核心思想以及伪代码实现。

【 关键词 】 程序代码抄袭检测;GST算法;相似度

1 引言

程序设计课程是高等学校计算机专业中的核心课程,这些课程的实践教学环节都需要学生在程序环境内编写程源代码,而这些在计算机上的代码很容易被复制抄袭,为了保证实践教学的质量和学生评价的公平客观,防止学生作弊抄袭,需要对程序代码进行抄袭检测。若教师人工进行比较检查,工作量非常大,且不能做到完全准确。现在通过比较代码优化后的目标代码检测已经非常有效,能在很大程度上提高教师的检测抄袭的效率,节省大量的工作时间。源代码抄袭检测可以使用代码相似度度量技术,若想判断两个源程序代码是不是存在复制,实质上就是对其相似程度进行度量,按照度量结果给出一个相似度的数值表示,然后由这个值判断程序之间是否存在抄袭。

文中的代码抄袭检测程序就是采用串匹配算法—GST算法(贪婪式字符串匹配算法)来寻找两段程序代码的最大公共子串,然后计算两个程序的相似度。

2 程序代码抄袭检测技术概述

2.1 程序代码抄袭

比较普遍的抄袭是直接拷贝,也有将程序简单修改,比如增加注释或更改标识符等。其实,对于大多数的抄袭都属于“词汇级”的。……

登录APP查看全文