程序代码抄袭检测的研究

来源 :东南大学 | 被引量 : 0次 | 上传用户:ebear2009
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着计算机应用的普及,人们对软件的需求量越来越大。各高等院校也着力于培养学生开发软件的能力,主要的途径是通过开设程序设计类课程,培养学生的实际动手能力。随着程序设计类课程的作业量的增加,部分学生由于懒惰或没有学好该类课程,会抄袭其他学生的作业。在作业较为简单且学生较少的情况下,教师可以手动判别学生的作业是否存在抄袭。但是,随着学生人数的增加,程序作业的逐渐复杂,教师的工作量就会成倍的增加,甚至很难通过教师的手工操作来发现程序作业的抄袭现象。因此,开发一个程序代码抄袭自动检测系统是很有必要的。   当前针对程序代码抄袭检测的研究大部分集中在结构度量法上,该方法主要分为标记串的生成和标记串相似度计算两个部分。由于是通过计算标记串间的相似度来间接获得程序代码间的相似度,因此标记串所携带的结构信息与程序代码结构的吻合程度,决定了算法最终计算结果的精确度;同时标记串的规模对系统计算的速度有着很大的影响。然而,目前已有的技术无论在速度和精度方面都有所欠缺,所以改进标记串生成技术成为该领域重要的研究内容。本文研究采用结构度量法,在分析已有的标记字符串生成技术的基础上,提出了新的标记字符串的生成方法。   本论文主要做了以下几方面的工作:一、针对程序代码的特点,本文采用了类似正向最大匹配算法思想的一个有效的分词方法。同时为了缩短程序代码对应的标记字符串的长度,同时保证标记字符串与程序代码之间的吻合程度,提出一种有效的标记串替换规则。二、提出了一种新的标记串生成方法。本文采用将程序代码按照函数执行顺序生成标记字符串的方法,这样可以过滤掉冗余函数,消除冗余函数对检测结果的影响,同时可以在一定程度上减少标记字符串匹配算法的运行时间。三、实现了一个程序代码抄袭检测实验系统,该实验系统采用RKR-GST算法作为标记字符串匹配算法。该系统首先删除程序代码中的冗余信息,然后采用本文中提出的标记字符串生成方法生成标记字符串,最后实现了标记字符串的相似度计算,从而确定程序代码间是否存在抄袭。同时,该实验系统实现了查看相似程度较高的函数对和冗余函数的功能。本文最后对该实验系统进行相关实验,验证了本文所提出技术在系统性能方面的改进以及该系统在实际应用中的作用。
其他文献
在严重下肢缺血的人群中, Fontaine 和Rutherford 系统可以对截肢风险和患者血管重建的必要性进行系统分型, 但这并不包含糖尿病患者.然而, 随着糖尿病发病率的上升与血管重
随着经济的高速发展,大规模赛事和活动的举办,智能视频监控系统中的行人计数功能被广泛应用于安防。本文在运动目标检测、分类和跟踪的基础上实现了这一功能。在运动目标检测方
6月3日上午,由中国新闻技术工作者联合会、《中国传媒科技》杂志社、中国网通集团公司联合主办的“第四届中国传媒科技高峰论坛”在北京新华社综合楼隆重举行。新华社副社长
如何有效的部署节点是无线传感器网络应用系统设计中必须要解决的关键问题之一,它关系到是否可以有效感知所关心的区域、部署成本高低和如何避免覆盖盲区等重要问题。节点部署
安全生产是企业的最基本的标准,安全生产标准化为烟草企业提供了良好的作业环境、设备设施、制度规程和管理理念,有助于实现烟草行业的和谐、健康、安全发展.本文探讨了安全
多CCD大幅面彩色扫描仪在彩色印刷、广告、测绘、军事等领域有着广泛的应用,其大幅面、高精度的特点对扫描仪系统的开发提出了更高的技术要求。本文主要针对A0幅面5个CCD头拼
随着无线通讯技术的发展,尤其是现在第四代通讯技术(4G)和WIFI的普及,很多人把移动终端作为不可或缺的工具,移动终端的使用大大推动了移动互联网的发展,移动OA也作为一种新的办公方
期刊
人脸表情是人类情感信息交流的重要方式之一。表情识别已成为拟人化的新型人际交互模式研究中的关键课题之一。目前,国内外有多所研究机构和高校的研究人员采用不同的方法对
目的 探究空巢老人胃癌术后建立个人档案以及进行个性化干预在其管理中的意义.方法 选取2014 年1 月~2016 年3 月于我院接受治疗的56 例空巢老人胃癌患者, 按照随机数字表法将