Coderunner代码雷同检测系统的研究与实现文献综述

 2022-11-24 09:11

一、选题背景及意义

随着互联网时代的快速发展,一方面,许多传统的教学方法和教学理念正在与信息化技术相结合;另一方面,由于通过互联网获取信息带来的极大便利,也成为学生利用互联网直接获取作业答案的方式之一。在高校的程序语言类课程中,学生完成实践类电子作业是检测教学效果的重要内容,为了缓解抄袭现象,减轻老师批阅负担,因此开发一款代码雷同检测系统显得尤为重要。

Moodle平台是一个开源的学习管理系统,具有功能覆盖全面、使用简单、兼容性与扩展性强等特点,已在世界各国广泛应用,发展十分迅速。本次雷同检测系统基于Moodle教学平台与moss雷同检测系统(一个用于检测软件相似度的系统),能够对普通文本和程序代码进行内部和网络雷同检测。在内部检测中,该程序将在Moodle中提交的学生作业转交至moss,由moss进行分析,查出存在互相抄袭嫌疑的学生作业并返回给Moodle。在网络检测中,该程序将作业内容进行抽样,在搜索引擎中查询,并计算相似度。这些结果都将给予老师进行最终决定。以此帮助教师在大量作业中进行雷同检测,减轻负担,增加工作效率。

二、国内外发展现状

针对于雷同检测手段,已有多种研究与实践。大体分为适用于普通文本的雷同检测、适用于程序代码的雷同检测、适用于其他的雷同检测。

1.在国外,常用的一种软件相似度检测系统就是moss,他是一种用于确定程序相似性的自动系统。

迄今为止,Moss的主要应用一直是检测编程类中的抄袭。自1994年成立以来,Moss在这个角色上一直非常有效。moss背后的算法是对其他作弊检测算法(至少是对我们已知的算法)的重大改进。Moss并非完全自动检测窃的系统。抄袭是指有人故意不加归因地复制代码,而Moss自动检测程序相似性,却无法知道为什么代码相似。看Moss强调的代码部分并决定是否存在抄袭,仍然取决于人类。思考Moss提供的内容的一种方法是,通过指出值得更详细检查的程序部分,可以节省教师和教职工很多时间。但是,一旦有人查看了程序的这些部分,那么可疑代码是由Moss还是由人类首先发现的都没关系。抄袭的情况应该独立存在。

特别是,仅依靠相似性分数是对Moss的滥用。这些分数对于判断不同程序对之间的相对匹配量很有用,并且有助于更轻松地查看哪些程序对以异常的匹配量突出。但是分数肯定不是抄袭的证明,仍然必须有人看代码。

2.在国内,针对计算机程序的检测,周琼在《探究计算机程序抄袭检测系统设计及应用》一文中,提出了采用模式匹配技术进行雷同检测。模拟匹配技术是抄袭检测领域应用最为广泛的技术之一,融入了基础检测、文档搜寻、语句匹配等内容,是一种十分精确的算法之一。整个技术中包括单模/多模检测匹配方法。[14]

在胡布焕等人的《一种基于语义相似的中文文档抄袭检测方法》中提出了一种基于语义相似计算的中文文档抄袭检测方法,将文档以句子为单位切分,利用word2vec 模型将句子中的词语表示为词向量的形式,作为卷积神经网络 ( convolutional neural net-work, CNN) 的输入,使用卷积神经网络提取和筛选句子的特征,计算句子对之间的差异,输出句子对的相似度,相似度高的句子对视为抄袭。他在文中提出针对传统基于文本字符特征提取法难以发现抄袭中同义词替换、释义这种行为,利用CNN模型提取更高级别语义特征,计算文本间相似度。[1]

剩余内容已隐藏,您需要先支付 10元 才能查看该篇文章全部内容!立即支付

以上是毕业论文文献综述,课题毕业论文、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。