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

来源 :内蒙古师范大学 | 被引量 : 0次 | 上传用户:zhaohaojed
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
互联网的发展个我们带来更多资讯的同时,也使得程序设计类课程中的抄袭行为更加普遍。程序设计是高等院校计算机专业教学中不可或缺的实践与教学环节,程序设计语言类别也是多种多样。作业以电子文档形式提交给教师是程序设计类课程的共同特点。学生完成作业的过程中从网上下载或拷贝其他同学的代码的现象愈演愈烈。抑制代码抄袭现象、提高程序设计类课程的教学质量越来越重要。这就需要准确、高效的代码抄袭检测方法。因此,对有效的抄袭识别技术及其应用研究有重要的意义。本文主要从计算机辅助教学的角度,针对学生作业和测试中的常见抄袭手段,提出一种基于AST(抽象语法树)的、可以用于多种编程语言的代码抄袭检测方法。首先根据不同编程语言的文法文件运用语法分析器生成相应的词法、语法分析器;然后通过语法、词法分析器把相应的源程序变为抽象语法树的形式,并对生成的抽象语法树进行去除冗余信息等优化处理;接下来运用序列匹配的方法进行代码相似度的计算;最后提取相似部分的特征生成特征向量,对生成的向量聚类分析,找到“抄袭团伙”。实验结果表明,本文提出的“基于AST的多语言代码抄袭检测方法”。改变了大多数同类研究中只注重相似度计算、缺失抄袭团伙分析的现状。进一步完善了此项研究。只要提供某种高级语言的文法文件,就可以对相应的语言代码进行解析,实现语言抄袭检测,从而使该方法具有良好的通用性、可扩展性。
其他文献
数据重要性越来越受到企业和用户的关注,系统可靠性也是企业在选购存储设备时首要考虑的因素。RAID(Redundant Array of Independent Disk独立冗余磁盘阵列)存储系统的可靠性可
随着计算机的广泛使用与网络技术的深入发展,人们更多的将各种资料信息以电子文本的形式存储于计算机及网络空间中。这些文本信息的大规模增长,导致人们对信息的过滤、筛选出
办公自动化系统是利用计算机技术提高办公的效率,进而实现办公自动化处理的系统。它采用互联网技术,基于工作流的定义,使企业内部人员方便快捷地实现信息的共享,高效地协同工
无线通信技术和嵌入式技术的发展极大带动了灵巧对象(Smart Things)的发展和应用。由于灵巧对象体积小、能耗少,具有一定的通信和计算能力,能够组网,成为物联网的一部分,其应用越来
每一个网站(又称为数据源)都会提供一些数据值集合,用来反映事实信息,例如一个网上书店,它会提供很多书的信息,包括作者、书名、出版社和书的价格等。那么这些数据值就对应着一个集
内存资源是虚拟化技术管理的重要资源之一,对虚拟化系统的性能影响很大。目前,虚拟机在启动之前都会配置一个内存上限,该内存上限在虚拟机运行过程中不可更改。然而,虚拟机上运行
目前,越来越多的混合应用出现在了各大Android应用市场中,根据IDC的数据统计显示,截至2016年第三季度,Android占据了智能手机操作系统份额的86.8%。这些应用包含了 Android原
畜产品溯源系统的建立是保证畜产品质量的有效做法,它的建立与运行一般会涉及到RFID技术,用电子标签附在要识别的牲畜上记录牲畜从生产到消费各环节的信息,用RFID阅读器来读
随着无线通讯技术以及位置服务的发展,移动对象的数据管理逐渐成为研究热点。近年来,国内外一些学者针对不同实际应用,在基于R树的移动对象索引方面进行了大量的研究,提出了一系
随着计算机交互、多媒体等信息技术的蓬勃发展,情感处理目前已经成为人工智能领域内一个新的研究热点。音乐作为多媒体技术的重要组成部分,对于计算机音乐情感信息的分析受到了