基于后缀语法树的代码抄袭检测技术研究
需积分: 10 46 浏览量
更新于2024-08-10
收藏 2.29MB PDF 举报
“基于后缀语法树的代码抄袭检测研究”
本文主要探讨的是程序代码抄袭检测技术,特别是针对学生在编程作业中常见的抄袭行为。在当前信息技术高速发展的时代,代码抄袭变得愈发普遍且难以防范。例如,澳大利亚蒙纳什大学的调查显示,近85.4%的学生承认有过抄袭作业的行为,这对教育质量和学术诚信造成了严重影响。
抄袭手段多样,从简单的完全拷贝、更改注释到复杂的等价控制结构替换和表达式调整,这些都对抄袭检测提出了挑战。赵长海教授增加了常量替换和表达式拆分两种新手段,进一步丰富了抄袭行为的分类。这些手段按抄袭的难易程度可分为低级和高级两类,低级抄袭如完全拷贝和更改注释较易于检测,而高级抄袭如等价控制结构替换则更具有隐蔽性。
为解决这一问题,本文提出了一种基于后缀语法树的代码抄袭检测方法。该方法首先利用ANTLR工具生成C语言的文法文件,ANTLR是一个强大的解析工具,能够帮助构建语法树。语法树是表示程序代码结构的一种抽象语法表示,每个节点代表代码中的一个语法元素,通过这种方式,代码被转化为易于比较的形式。
在构建了后缀语法树后,可以对不同源代码的语法树进行比对。由于后缀语法树反映了代码的结构和逻辑,即使代码经过了重命名标识符、调整顺序等变换,也能在树结构中找到相似性。这种检测方法能有效地识别出那些经过复杂变换的抄袭代码,提高了检测的准确性和效率。
此外,文章还可能涉及如何处理和分析检测结果,以及如何在实际教学环境中应用这种检测系统,以促进学术诚信和提升编程教育质量。同时,可能还会讨论相关的法律和伦理问题,如保护原创代码的权益,以及在使用抄袭检测工具时如何确保学生的隐私。
这篇硕士学位论文深入研究了代码抄袭的现状和检测技术,特别是提出了一种创新的基于后缀语法树的方法,旨在为编程教育提供有效的抄袭防范策略。通过这种方法,可以更好地维护学术环境的公正性和教学质量。
190 浏览量
2017-12-19 上传
2015-02-05 上传
2019-04-10 上传
七231fsda月
- 粉丝: 31
- 资源: 3965
最新资源
- MC33886MC33886MC33886
- Linux C/C++ 入门必备
- lm7815电源,稳压电源,lm79158电源,稳压电源,正负15付电源
- 如何对Oracle数据库文件进行恢复与备份
- Flex + LCDS + Java 入门教程
- cisco路由器配置ACL详解
- ActionScript 3.0 Cookbook 中文版
- EJB服务器端组件模型
- Lucene_Heritrix的垂直搜索引擎的研究与应用
- for all 用法小结
- makefile入门
- JAAS简介及实例.
- c++常用算法及数据结构
- c语言读取bmp图像c语言读取bmp图像
- COSTAS环性能分析
- 多目标规划的基本解法