首页> 中文学位 >Python程序设计题的查重研究
【6h】

Python程序设计题的查重研究

代理获取

目录

声明

摘要

第一章 绪论

1.1 研究背景和意义

1.2 国内外研究现状

1.3 研究目标和内容

1.4 本文的组织结构

第二章 程序代码相似度检测技术概述

2.1 程序代码抄袭概述

2.2 程序代码相似度定义

2.3 程序代码相似度度量技术

2.4 程序抄袭检测系统介绍

2.5 本章小结

第三章 相关算法及技术研究

3.1 向量空间模型的基本概念

3.2 特征选择相关算法研究

3.3 特征加权算法

3.4 正则表达式匹配技术

3.5 抽象语法树处理技术

3.6 本章小结

第四章 程序代码相似度检测系统设计

4.1 开发环境与开发语言选择

4.2 Python语法和结构分析

4.3 冗余信息去除模块

4.4 程序代码特征选择

4.5 程序代码特征提取

4.6 构建特征语料库模块

4.7 特征向量加权模块

4.8 数据库交互模块

4.9 相似度检测模块

4.10 本章小结

第五章 系统测试与结果分析

5.1 程序代码初级抄袭程度测试

5.2 程序代码中级抄袭程度测试

5.3 程序代码高级抄袭程度测试

5.4 实际教学中的程序代码抄袭测试

5.5 本章小结

第六章 结论与展望

6.1 结论

6.2 展望

参考文献

致谢

作者简介

展开▼

摘要

程序设计题的查重实质上就是对程序代码之间的相似度进行检测,通过程序代码之间的相似度得出程序代码之间的重复率。本文主要对Python程序设计题进行查重研究,同时设计实现出适用于Python程序设计题的查重系统,使得该系统可用于Python程序语言的教学中。虽然本系统的研究主体是Python语言,但其设计原理和方法具有普遍性,因此对其它程序设计语言同样适用。本文的主要研究工作如下:
  1)本文对外国内外已有的抄袭检测系统的实现方法和原理进行了研究,分析了各个系统之间的优点和缺点。确立本系统的实现采用属性计数技术和结构度量技术相结合的方法。
  2)本文对向量空间模型原理和实现方法进行了研究,借鉴向量空间模型在文本分类问题中的运用。确立本系统采用向量空间模型把程序代码转换成由特征项组合而成的特征向量,由特征向量之间的相似度得到程序代码之间的相似度。
  3)本文对正则匹配技术、抽象语法树处理技术以及常见的几种特征提取算法的原理和实现方法进行了研究。设计实现了基于程序代码和基于抽象语法树这两种特征提取方法。
  4)本文对常用的几种特征加权方法的原理和实现方法进行了研究。设计实现了一种改进的逆文档频率加权算法,这种加权算法能很好地适用于程序代码的特征向量加权。
  5)本文对常用的几种向量相似度计算方法的原理和实现方法进行了研究。并设计实现了适用于本系统的一种全新的向量相似度计算方法。
  6)本文从基于程序代码和基于抽象语法树这两种特征提取方法的角度,分别用余弦夹角、相关系数、差异程度这三种相似度计算方法对三种不同程度的抄袭进行了检测,并将最终的检测结果与MOSS系统的检测结果进行比对。同时,为了验证查重系统的可行性,本文还选取了实际教学中的学生代码进行了测试,并与人工比对的结果进行了比较。
  通过对最终测试结果进行对比分析,本系统能较好的识别不同程度的抄袭,并给出相应的判断。本文通过对系统的测试结果与MOSS系统的测试结果进行比对分析,得出本系统从基于抽象语法树的角度进行特征提取,采用差异程度算法计算特征向量的相似度,最终得到的查重结果最优。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号