学生实验源码查重系统的设计与实现

来源 :华中科技大学 | 被引量 : 0次 | 上传用户:li875
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
计算机以及互联网的发展改变了人们的生产和生活方式,很多传统领域的工作可以借助计算机来提高工作效率。例如在教育领域的程序项目实验类课程中,依靠人工方式审核学生提交的程序作业的方法非常低效,很难发现可能存在的代码抄袭,因此设计并实现检测抄袭的学生实验源码查重系统具有重要的意义。在程序项目实验类课程作业的查重场景中,项目工程作业一般提供包含基础模块的框架,其余多个模块以小组分工的形式共同开发。对项目工程查重需要考虑剔除模板代码、针对项目整体查重以及针对小组成员细化查重等,同时查重系统应能够应对常见的代码混淆手段。为完成上述功能需求,查重系统采用基于令牌token的结构分析法进行检测,系统中包含代码预处理模块、解析转换模块、查重执行模块、结果分析模块、详细结果生成模块。代码预处理模块将小组提交的工程文件进行过滤、提取,得到待查重的内容并存入对比库。解析转换模块负责从对比库中读取用来查重的小组文件并解析转换成可用于相似度匹配的token序列,其中词法分析器扫描代码生成token序列的过程中忽略注释、空格以及对变量名作统一映射等。查重执行模块将解析转换得到的对象进行对比库查重,采用贪婪字符串匹配(Greedy String Tilling,GST)算法进行相似匹配,并收集每一次匹配的结果。结果分析模块负责从查重执行模块获取匹配结果并进行统计分析,得到小组的整体抄袭比例以及各个模块和对应负责组员的抄袭比例。详细结果生成模块用来生成详细的匹配结果,方便教师对抄袭进行代码复核。系统测试结果表明,查重系统采用词法分析生成token序列进行比较的方式对常规代码混淆手段比如注释和输出更改、变量名替换、代码格式修改等具有良好的效果,贪婪字符串匹配算法的应用可以有效应对代码重排;查重系统可以完成对项目工程的对比库查重,分析得出项目的总体抄袭比例以及不同模块和对应开发组员的抄袭状况,并生成总体报告和详细结果文件。
其他文献
由于人们的生活不规律、饮食不健康和吸烟等问题的影响,使得肺癌的致死率远高于其它癌症。随着影像技术的进步,医学图像分析在疾病早期筛查诊断的过程中起到非常关键的作用。现阶段大量的影像数据带给医生很大压力,使得诊断常伴随漏诊和误诊。近年来,随着人工智能应用于医学领域中,医学图像智能分析也迎来了新的突破。影像组学通过从数量庞大的医学图像中挖掘深层次的信息,并构建机器学习模型辅助医生做出决策。医学图像分割是
随着中国-东盟互联互通不断深入,对于中国和东盟国家的网络舆情研究尤为重要,现有对于中国-东盟民间舆情分析的研究相对较少,因此本文基于深度学习算法展开中国-东盟微博情感分析,研究具备较强的理论意义和实用价值。首先,采集并筛选了与“东盟”话题相关的微博评论数据作为本文的实验数据集。基于微博数据的特点和结合民间舆情观测库需要,提出CONV-SAWB和LST-SAWB情感分析算法。进行超参数调优实验和网络
随着科学技术的不断发展,网络虚拟世界和现实世界的关系不再是母子派生的关系,而越来越趋向于二元平衡的关系;虚拟世界的空间不断扩大、空间规则越来越完善,而且虚拟世界对现实世界的作用力度越来越大,在这样的背景下法律对网络空间规制越发重要,而寻衅滋事罪作为规范网络言行的重要罪名之一,一直受到学界的争议。本文第一部分通过对上海市两个较为典型案例的分析,引出网络型寻衅滋事罪在学界争议较大的几个认定问题,分别是
图像超分辨率重建技术旨在通过一幅或多幅低分辨率图像重构出具有更高分辨率且携带更丰富更细节信息的超分图像。作为图像处理领域的重要研究方向,超分辨率重建技术在卫星遥感、安防监控和医学图像等领域都有着重要应用,一直是学术界的研究热点。近年来,随着深度学习在计算机视觉领域的迅猛发展,人们开始将深度网络运用到超分辨率重建技术上,通过深度网络来学习低分图像与高分图像在纹理结构与几何形态上的相关性,从而重构出与
磷酸是一种重要的化工原料,用途非常广泛,但在制备磷酸过程中会产生大量磷石膏,磷石膏长期堆存产生的渗滤液会对环境造成危害。传统除磷技术存在除磷效率低、适用范围窄等缺点,很难将磷高效去除;且磷石膏渗滤液中的焦磷酸、三聚磷酸盐、三偏磷酸盐等多聚磷酸盐与除磷剂很难形成沉淀或生成易溶的络合物,严重降低了除磷效率。本课题以磷石膏渗滤液为研究对象,基于化学沉淀法,围绕磷石膏渗滤液高效除磷,提出了“除磷-定向水解
超级电容器是一种新型的介于电容器和电池的电化学储能器件,具有充放电快、功率密度大、循环寿命长、免维护等特点。生物质衍生碳材料,由于其制备原料廉价易得、制备过程简单,是目前被寄予厚望的超级电容器电极材料。但基于衍生碳的超级电容器,其能量密度与电池相比还是有一定的差距,根据能量密度公式E=1/2CV2,本论文主要从提升容量C入手进行相关研究工作,具体工作如下:首先,选用氢氧化钾(KOH)和硫脲(CH4
云计算发展火热,容器虚拟化技术凭借着接近原生的性能以及相比传统虚拟机技术更轻量级和更易使用的优势在近些年来得到了广泛的发展。尽管容器启动的时间比传统虚拟机快,但是启动一个镜像不在本地的容器很慢,因为镜像从远端仓库拉取下来十分耗时。通过实验发现从远端仓库中拉取镜像时,镜像层之间存在着大量的冗余数据。这些冗余数据造成了额外的拉取时间进而导致容器启动变慢。容器架构本身使用分层复用和压缩来减少镜像拉取时下
随着网络技术的不断发展,网络架构在统一管理、易于维护等方面的需求逐步提高,软件定义网络(Software-Defined-Network,简称SDN)技术应运而生。但由于可使用的SDN硬件设备极其稀缺且价格昂贵,同时,随着网络规模扩大以及网络功能逐步增强,市面上主流的SDN网络仿真实验平台缺乏进行较大规模的SDN网络仿真实验的能力,因此,提出一种高效的大规模SDN网络拓扑仿真方法,并以此为基础构建
容器技术因其使用便捷和高性能的特点被开发人员和组织广泛使用。但是,与虚拟机不同的是,不同容器之间共享同一主机操作系统内核,这使得容器的隔离性更弱。尽管操作系统提供了严格的软件隔离机制,例如Namespaces,试图解决这一问题,但是,恶意的租户仍然可以通过系统调用访问内核,并利用内核漏洞绕过这些隔离机制。同时,随着内核代码不断更新,内核功能也不断增加,而绝大多数应用程序在工作时只需要使用部分内核功
建筑业是我国国民经济的支柱产业之一,在我国经济快速发展的背景下,我国建筑业的发展正面临着新的机遇与挑战。2017年国务院办公厅印发《关于促进建筑业持续健康发展的意见》,同年住建部印发《建筑业发展“十三五”规划》,文件都指出固定资产的投资建设是经济建设的重要任务之一,未来五年,我国建筑业要完成总产值年均增长7%的目标,固定资产投资增速将给建筑业带来广阔的前景。然而,应对建筑市场、建筑行业以及建筑企业