基于子树追踪的代码抄袭检测研究与实现

来源 :江苏大学 | 被引量 : 1次 | 上传用户:Boogie
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着互联网技术的发展,沟通交流越来越便捷,使得代码抄袭变得愈发简单。代码抄袭本身是一种复杂且难以界定的行为,人工检测效率低、效果差且存在主观因素。由于缺少公信力强的检测系统,国内大部分高校的程序设计题检查工作仍由人工完成。本文目的便是解决此问题,改善现有代码抄袭检测的窘境。本文在分析现有代码抄袭检测技术研究成果的基础上,针对现有技术存在的缺陷,提出了一种基于子树追踪的代码抄袭检测方法。此外,现有的研究都是检测两样本间的相似度,鲜有考虑抄袭样本间存在抄袭小组的情况,因此本文进一步提出一种基于改进k-means的检测分组方法,在检测抄袭的同时,能有效地定位出各抄袭小组。本文具体研究内容包括:(1)针对高阶代码伪装检测提出基于子树追踪的代码抄袭检测方法。将代码转换成抽象语法树形式,提取抽象语法树的特征并跟踪各子树的特征向量。计算各特征向量间距离及特征相似矩阵,并基于其加权距离得出代码距离。最后,通过代码距离及距离阈值量化代码相似度。实验结果表明,该方法能够应对多种抄袭种类,尤其在处理“代码重排序”类型时其检测效果优于现有系统。(2)针对k-means聚类算法需要指定初始k值(簇数目)而不适用于代码抄袭样本聚类,本文提出一种自动寻找k值的改进k-means聚类方法,其通过比较簇直径与簇间距离来确定某簇是否完成分簇,循序渐进寻找所有簇。并通过实验说明了该方法的有效性。(3)以本文提出的两个方法为核心,设计实现了一套在线抄袭检测系统。该系统主要服务于教师与学生,为了培养用户使用习惯,除了代码抄袭检测分组功能外还开发了问答平台功能,为广大师生提供在线交流学习平台。同时,为了提升用户体验,本文使用MySQL主从复制及Nginx+keepalived工具,分别从数据和应用两方面提升了在线抄袭检测系统的高可用性。
其他文献
基于长三角地区16个主要经济城市的经济指标,首先运用模糊综合评价对长三角经济圈内16个主要经济城市进行经济实力的综合排名,通过综合排名得出中心城市上海在长三角经济圈具
目的研究分析在超早期使用尿激酶静脉溶栓治疗急性脑栓塞的临床疗效。方法选择合适病患68例,分为实验组和对照组,对照组采用常规治疗,实验组在常规治疗的基础上给予患者溶于1
<正>江苏大剧院装饰工程公开招标,历经数轮专家讨论及评估,最终选择了中孚泰等企业承担装饰工程项目。据悉,江苏大剧院是江苏省级重大社会事业项目,是省级标志性文化建筑,总
<正>课堂讨论活动是师生共同构建的一种教学行为。它是指在教师的指导下,以学生为主体,有计划、有步骤、有目的地围绕某一话题或内容在课堂上各抒己见、相互讨论、相互启发的
<正>学校制度文化作为学校文化的重要组成部分,是处于核心精神文化和浅层物质文化之间的中间层文化,它不仅是维系学校正常秩序必不可少的保障机制,也是学校文化建设和学校发
<正> 锁阳,又名不老药,系锁阳科植物锁阳Cynomoriu songaricum Rupr.的干燥肉质茎,生于沙漠地带,大多寄生于蒺藜科白刺等植物根上。性甘温,具补肾阳、益精血、润肠通便之功用
<正>基础教育阶段的学校健康教育可以有效地促进公民健康,这一作用已为许多经验研究所证实。从世界各国的研究结果来看,中小学的健康教育可以显著地延长公民寿命,降低癌症、
<正>新课程的总体目标是培养学生的综合语言运用能力。近年来,初中毕业、升学试卷由重在考查学生的语言知识向考查学生英语综合运用能力过渡,因此阅读课教学就成了初中英语教
采用以纤维材料为滤元的高效纤维过滤器替代机械石英砂过滤器,解决了原生水系统存在的生水处理能力小、出水浊度大、过滤设备反洗自用水量大等问题,保证了生水系统及后续水处
<正>一、数学分层教学法的意义所谓分层教学,即指"根据各层次学生的不同特点,协调教学目标和要求,把教学要求置于学生的最近发展区之中,使教学要求与学生的学习可能性相互适