源代码抄袭检测系统的研究和实现

源代码抄袭检测系统的研究和实现

论文摘要

目前,在国内外高校教育中,作业抄袭现象普遍,尤其是在计算机类课程中,源代码抄袭的情况更加严重。因此,对源代码抄袭检测技术的研究具有重要意义。本文研究了现有系统以及现存检测算法,发现这些算法和系统存在着的不足。例如,多数系统只提供一种检测算法,不同的检测算法的适用范围是不同的,用户不能够根据自身需要选择合适的检测算法。在实际检测中,本文同时也发现了一些因素会给检测带来噪音,影响相似度的计算。例如,大量重复的变量声明语句,以及抄袭者对源代码的改动。本文设计并实现了一个源代码抄袭检测系统PlagiarismChecker,其包含四种检测算法。用户可以选择不同的算法及这些算法组合进行检测,可以设置相似度阈值过滤结果,还可以利用PlagiarismChecker提供的系统接口方便地实现及应用新的检测算法。本文提供了一个Web应用Catcher提供在线的源代码检测服务,以邮件形式返回检测结果。本文通过实验证明了PlagiarismChecker是有效的,它能够比原有系统检测出更加多的抄袭作业对。针对实际检测中存在的噪音问题,在基于抽象语法树的检测算法上,本文提出使用归一化算子解决这个问题。本文设计并实现了五个算子,证明了能够通过归一化算子这种方式有效消除噪音。本文同时改进了PlagiarismChecker系统,使得系统能够很方便地添加新的算子,可以应对新发现的抄袭手法。

论文目录

  • 摘要
  • Abstract
  • 第一章 引言
  • 1.1 背景领域
  • 1.2 基本概念
  • 1.3 国外研究现状
  • 1.4 国内研究现状
  • 1.5 源代码抄袭检测系统
  • 1.6 研究动机
  • 1.7 研究意义
  • 1.8 论文结构
  • 第二章 源代码抄袭检测技术的研究
  • 2.1 源代码抄袭手段分类
  • 2.2 基于属性计数和基于结构特征的检测方法
  • 2.3 基于高级语言处理过程的分类
  • 2.4 算法介绍
  • 2.5 本章小结
  • 第三章 系统设计与实现
  • 3.1 源代码抄袭检测系统PlagiarismChecker
  • 3.2 基于Web 的应用Catcher
  • 3.3 本章小结
  • 第四章 实验与系统改进
  • 4.1 系统应用情况
  • 4.2 实际问题
  • 4.3 归一化算子
  • 4.4 系统改进
  • 4.5 本章小结
  • 第五章 总结与展望
  • 5.1 总结
  • 5.2 展望
  • 参考文献
  • 附录A
  • 致谢
  • 相关论文文献

    • [1].基于抽象语法树分析的版本控制分支合并算法[J]. 计算机系统应用 2015(03)
    • [2].一种改进的基于抽象语法树的软件源代码比对算法[J]. 信息网络安全 2014(01)
    • [3].抽象语法树在属性计算中的应用[J]. 安庆师范学院学报(自然科学版) 2008(04)
    • [4].基于抽象语法树的数据泥团自动检测研究[J]. 计算机应用与软件 2017(01)
    • [5].基于抽象语法树的修改影响分析方法[J]. 长春工业大学学报(自然科学版) 2012(04)
    • [6].基于代码变更块和抽象语法树的两种重构模式识别[J]. 智能计算机与应用 2019(03)
    • [7].基于抽象语法树的C克隆代码重构应用与研究[J]. 上海师范大学学报(自然科学版) 2018(04)
    • [8].基于线索抽象语法树的程序依赖图自动生成算法[J]. 武汉大学学报(理学版) 2015(02)
    • [9].Ckit系统分析及应用[J]. 电脑知识与技术 2017(27)
    • [10].基于中文语法树的概念图挖掘研究[J]. 大连海事大学学报 2012(04)
    • [11].基于语法树的程序相似度判定方法[J]. 吉林大学学报(信息科学版) 2014(01)
    • [12].C程序控制流程模型的提取技术与实现[J]. 计算机科学 2014(05)
    • [13].使用抽象语法树和静态分析的克隆代码自动重构方法[J]. 小型微型计算机系统 2009(09)
    • [14].克隆代码自动重构的抽象语法树及静态分析[J]. 数字技术与应用 2016(02)
    • [15].基于抽象语法树的Javascript混淆器[J]. 硅谷 2015(02)
    • [16].简化GCC抽象语法树的新型算法[J]. 计算机科学 2015(S1)
    • [17].建立抽象语法树模型评测C++代码[J]. 计算机应用 2015(S1)
    • [18].基于抽象语法树和最优映射算法的克隆代码映射研究[J]. 内蒙古大学学报(自然科学版) 2018(05)
    • [19].一种优化GCC抽象语法树的方法[J]. 电子技术与软件工程 2017(06)
    • [20].基于JavaCC的抽象语法树的构建与实现[J]. 计算机工程与设计 2016(04)
    • [21].一种基于GCC抽象语法树的程序特征提取方法[J]. 电子技术与软件工程 2013(20)
    • [22].消除GCC抽象语法树文本中冗余信息的算法研究[J]. 计算机科学 2008(10)
    • [23].基于语法树和JavaCC的程序题自动评分系统[J]. 计算机技术与发展 2012(01)
    • [24].使用抽象语法树匹配分析Java程序演化[J]. 计算机应用与软件 2011(08)
    • [25].简化GNU编译器套件抽象语法树的算法研究[J]. 上海师范大学学报(自然科学版) 2018(04)
    • [26].CPCC抽象语法树的三地址码生成[J]. 电脑知识与技术 2013(34)
    • [27].静态测试中C/C++抽象语法树的生成[J]. 长春工业大学学报(自然科学版) 2008(03)
    • [28].基于软件历史仓库和抽象语法树的相似缺陷识别方法[J]. 系统工程与电子技术 2020(10)
    • [29].基于语法树高度的汉语韵律短语预测[J]. 计算机工程与应用 2010(36)
    • [30].基于符号执行的软件静态测试研究[J]. 计算机技术与发展 2013(06)

    标签:;  ;  ;  ;  

    源代码抄袭检测系统的研究和实现
    下载Doc文档

    猜你喜欢