基于AST的多语言代码抄袭检测研究

基于AST的多语言代码抄袭检测研究

论文摘要

互联网的发展个我们带来更多资讯的同时,也使得程序设计类课程中的抄袭行为更加普遍。程序设计是高等院校计算机专业教学中不可或缺的实践与教学环节,程序设计语言类别也是多种多样。作业以电子文档形式提交给教师是程序设计类课程的共同特点。学生完成作业的过程中从网上下载或拷贝其他同学的代码的现象愈演愈烈。抑制代码抄袭现象、提高程序设计类课程的教学质量越来越重要。这就需要准确、高效的代码抄袭检测方法。因此,对有效的抄袭识别技术及其应用研究有重要的意义。本文主要从计算机辅助教学的角度,针对学生作业和测试中的常见抄袭手段,提出一种基于AST(抽象语法树)的、可以用于多种编程语言的代码抄袭检测方法。首先根据不同编程语言的文法文件运用语法分析器生成相应的词法、语法分析器;然后通过语法、词法分析器把相应的源程序变为抽象语法树的形式,并对生成的抽象语法树进行去除冗余信息等优化处理;接下来运用序列匹配的方法进行代码相似度的计算;最后提取相似部分的特征生成特征向量,对生成的向量聚类分析,找到“抄袭团伙”。实验结果表明,本文提出的“基于AST的多语言代码抄袭检测方法”。改变了大多数同类研究中只注重相似度计算、缺失抄袭团伙分析的现状。进一步完善了此项研究。只要提供某种高级语言的文法文件,就可以对相应的语言代码进行解析,实现语言抄袭检测,从而使该方法具有良好的通用性、可扩展性。

论文目录

  • 中文摘要
  • ABSTRACT
  • 第一章 绪论
  • 1.1 研究背景及意义
  • 1.2 国内外研究状况和发展趋势
  • 1.2.1 属性计数
  • 1.2.2 结构计数法
  • 1.2.3 其他检测方法
  • 1.3 本文的主要工作
  • 1.4 本文的组织结构
  • 第二章 背景知识与相关研究
  • 2.1 程序代码抄袭手段分类
  • 2.2 代码抄袭检测相关概念
  • 2.2.1 代码抄袭检测技术分类
  • 2.3 常用检测模型
  • 2.3.1 基于树的检测模型
  • 2.3.2 基于串的检测模型
  • 2.3.3 基于图的检测模型
  • 2.3.4 基于标识符的检测模型
  • 2.4 现有的抄袭检测系统
  • 2.4.1 YAP 系列
  • 2.4.2 SIM 系统
  • 2.4.3 MOSS 系统
  • 2.4.4 JPlag 系统
  • 2.4.5 CCFinder 系统
  • 2.5 本章小结
  • 第三章 基于 AST 的多语言代码抄袭检测方法
  • 3.1 源代码的形式化
  • 3.1.1 ANTLR 介绍
  • 3.1.2 制定文法文件
  • 3.1.3 ANTLR 生成 AST
  • 3.2 语法树的遍历和优化
  • 3.2.1 消除冗余和干扰信息
  • 3.2.2 缩短后缀语法树字符串序列的长度
  • 3.3 Smith Waterman 算法
  • 3.4 相似性计算
  • 3.5 本章小结
  • 第四章 聚类分析
  • 4.1 聚类主要方法
  • 4.2 应用聚类算法分析计算结果
  • 4.2.1 空间向量模型
  • 4.2.2 k-medoids 算法
  • 4.2.3 聚类特征的选取
  • 4.3 聚类过程
  • 4.4 本章小结
  • 第五章 系统评测
  • 5.1 抄袭检测实验
  • 5.1.1 设计思路
  • 5.1.2 实验结果
  • 5.2 测试结果可视化
  • 5.3 聚类分析
  • 5.3.1 设计思路
  • 5.4 本章小结
  • 第六章 抄袭检测实验系统的设计与实现
  • 6.1 基本思路
  • 6.2 开发环境
  • 6.3 用户界面
  • 6.4 本章小结
  • 第七章 结束语
  • 7.1 工作总结
  • 7.2 不足之处与下一步的工作
  • 参考文献
  • 攻读学位期间发表的论文
  • 致谢
  • 相关论文文献

    • [1].安全协议多目标语言代码自动化实现方案[J]. 通信学报 2012(09)
    • [2].安全协议多目标语言代码缺陷检测方法仿真[J]. 计算机仿真 2017(12)
    • [3].Java语言与C语言代码运行效率的比较[J]. 信息与电脑(理论版) 2010(10)
    • [4].从符号学视角分析语言与文化的关系[J]. 长春理工大学学报(社会科学版) 2012(07)
    • [5].基于汇编语言教学中优化语言代码方法探讨与研究[J]. 电子测试 2017(10)
    • [6].论非语言代码文化翻译方法[J]. 湖南科技学院学报 2008(01)
    • [7].歌词解析器的设计[J]. 石家庄职业技术学院学报 2013(06)
    • [8].Keil C51精确延时程序设计[J]. 电子科技 2012(12)
    • [9].文化视域下的学生课程适应性问题[J]. 现代教育科学 2018(06)
    • [10].浅谈中日跨语言交际的非语言代码[J]. 鸭绿江(下半月版) 2014(10)
    • [11].如何优化C语言代码[J]. 时代教育 2012(20)
    • [12].一种单片机不完整字库的生成和使用方法[J]. 价值工程 2012(28)
    • [13].一种C语言级单步调试系统的功能实现方案[J]. 单片机与嵌入式系统应用 2015(02)
    • [14].《天使的洁白》中的反讽——袁劲松对于生活的迷失和追寻[J]. 参花(上) 2015(01)
    • [15].浅谈跨文化翻译[J]. 雪莲 2010(04)
    • [16].语用移情与英汉互译[J]. 新课程学习(学术教育) 2010(09)
    • [17].电子百科[J]. 世界电子元器件 2012(11)
    • [18].一例Java语言与C语言代码运行效率的比较[J]. 现代计算机(专业版) 2010(01)
    • [19].内容图式在口译中的应用研究[J]. 安徽工业大学学报(社会科学版) 2009(06)
    • [20].一种基于可视化界面绘制图形自动生成C语言代码软件的设计与实现[J]. 计算机应用与软件 2018(09)
    • [21].科学理论传达物的形象化与审美观照[J]. 作家 2008(24)
    • [22].基于嵌入式系统中c语言代码运行效率探析[J]. 计算机光盘软件与应用 2012(17)
    • [23].对等翻译之利弊与译文质量的提高[J]. 剑南文学(经典教苑) 2013(08)
    • [24].嵌入式C语言程序设计中的代码优化[J]. 电脑知识与技术 2010(01)
    • [25].价值观对跨文化交际的影响[J]. 疯狂英语(教师版) 2008(02)
    • [26].Java语言与C语言代码运行效率的比较[J]. 计算机光盘软件与应用 2013(12)
    • [27].教育不平等的语言视角及其本土化路径[J]. 教育学术月刊 2012(06)
    • [28].MARC数据的C语言解析[J]. 教育教学论坛 2012(29)
    • [29].使用C语言编写高效嵌入式软件的教学探讨[J]. 计算机教育 2008(18)
    • [30].谈中西文化差异与翻译策略[J]. 河北软件职业技术学院学报 2008(01)

    标签:;  ;  ;  ;  ;  

    基于AST的多语言代码抄袭检测研究
    下载Doc文档

    猜你喜欢