首页> 中文学位 >基于抽象语法树的程序代码抄袭检测技术研究
【6h】

基于抽象语法树的程序代码抄袭检测技术研究

代理获取

目录

文摘

英文文摘

声明

第一章绪论

1.1研究意义

1.2国内外研究及其分析

1.2.1国内外研究现状

1.2.2研究现状分析

1.3本文的主要工作

1.4本文的组织结构

第二章抄袭检测相关研究

2.1抄袭手段

2.2抄袭检测概述

2.2.1抄袭检测概念

2.2.2抄袭检测技术

2.2.3字符串比较算法在抄袭检测中的应用

2.3现有抄袭检测系统简介

2.3.1 Plague系统

2.3.2 YAP系列

2.3.3 SIM系统

2.3.4 MOSS系统

2.2.5 JPlag系统

2.4小结

第三章基于抽象语法树的抄袭检测

3.1相关介绍

3.1.1抽象语法树

3.1.2 GCC简介

3.1.3 GCC抽象语法树

3.1.4抽象语法树结构

3.1.5抽象语法树包含的静态信息

3.2抄袭检测关键技术

3.2.1抽象语法树相关定义

3.2.2优化冗余结点

3.2.3结点解析

3.3标记特征串文本

3.4相似性计算函数

3.5阈值的选取

3.6小结

第四章抄袭检测实验系统

4.1系统实现

4.1.1基本思路

4.1.2开发环境选择

4.1.3系统实现

4.1.4用户界面

4.2关键算法

4.3小结

第五章实验与结果分析

5.1实验数据选取

5.2实验及分析

5.2.1实验程序集A分析

5.2.2实验程序集B分析

5.2.3实验数据说明

5.3小结

第六章总结

6.1研究工作总结

6.2不足与进一步的工作

参考文献

致谢

攻读学位期间发表的学术论文

展开▼

摘要

抄袭是当前普遍存在的现象。近年来,该现象愈演愈烈,手段越来越隐蔽,有些人甚至对抄袭习以为常。在高等教育领域,因计算机类专业工程实践性的特点,要求众多课程围绕计算机进行实践教学与考核,而计算机上电子文本更易被复制及传播。国外有研究者曾针对澳大利亚蒙纳什(Monash)大学的程序设计类课程中程序代码抄袭现象进行调查,统计显示:高达85.4%的学生承认抄袭过他人的作业。这些问题的存在,已严重影响到学生能力的培养与教师正常教学的进行。程序代码抄袭检测技术能够高效快捷地发现有抄袭嫌疑的程序代码,有助于扼制学生不良学风的形成,保证教学质量与客观评价。
   本文就目前国内外现有程序代码抄袭检测技术进行了研究分析,提出了基于抽象语法树的程序代码抄袭检测方法。基本思路:借助GCC编译器为每一源程序分别构造抽象语法树,程序代码所包含的语义可以被解析至抽象语法树的各个结点中;由于抽象语法树包含许多有助于编译的细节信息,进而优化抽象语法树的结构关系,消除冗余结点,提取与程序有关的可用结点;之后进行可用结点解析,生成特征标记串文本,该标记特征串文本不再是一个线性串,而是一个含有丰富程序语义信息的结点集合;最后利用决策函数对特征标记串集进行相似性计算,完成代码检测。为了有效判定存在抄袭的程序对,还设定了相似性阈值自适应选取机制。
   在上述理论研究的基础上,设计并实现了一个基于抽象语法树的程序代码抄袭检测实验系统,该实验系统能够自动完成抽象语法树优化、结点解析和抄袭检测。以C语言程序代码为测试数据,并与MOSS系统的检测结果进行对比验证。实验表明,基于抽象语法树检测技术的上述试验系统,能够有效检测含有函数调用的复杂程序结构,并具有多种抄袭手段的程序代码。

著录项

相似文献

  • 中文文献
  • 外文文献
  • 专利
代理获取

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号