基于后缀树的代码抄袭检测策略:国内外研究与发展趋势
需积分: 10 53 浏览量
更新于2024-08-10
收藏 2.29MB PDF 举报
国内外研究状况和发展趋势-合成孔径雷达成像算法与实现
在计算机科学领域,特别是在软件工程和版权保护方面,程序代码的复制检测是一个重要的课题。自从上世纪70年代起,国外的研究者就开始探索代码克隆、冗余代码检测以及代码优化等技术,这些技术逐渐发展为程序代码相似度分析的重要工具,用于防止病毒入侵和检测抄袭行为。早期的研究者如Halstead提出软件科学度量方法,通过统计程序代码的属性特征(如复杂度、可读性等)形成特征向量,使用向量空间模型来度量代码间的相似性。这种方法虽简单有效,但由于忽略了代码结构和语义信息,可能导致较高的误判率。
后来,研究人员尝试通过增加向量维度来改进基于属性计数(Attribute Counting,AC)的方法,但Verco和Wise的研究指出单纯增加维度并不能显著提升检测精确度。相比之下,基于结构度量(Structure Metrics,SM)的方法更加注重程序内部结构和部分语义信息,例如通过程序标准化,如token-based、string-based、语法树(Syntax Tree)或语义分析等手段,减少噪音,从而提高检测准确性和精度。语法树,特别是后缀语法树(Suffix Tree),在代码抄袭检测中扮演了关键角色,因为它能够捕捉代码的结构性特征,有助于更准确地识别代码的相似性。
本文关注的是在程序设计类课程中,尤其是在C语言作业抄袭问题频发的情况下,基于后缀语法树的代码抄袭检测方法的应用。作者使用ANTLR编写的C语言文法规则,构建后缀树,通过分析代码的结构模式来识别潜在的抄袭行为。这种方法能够更好地应对学生常见的抄袭策略,如代码剪切、拼接或稍作修改,从而提高抄袭检测的效率和准确性,对于维护学术诚信和提升教学质量具有重要意义。
当前的研究趋势是结合多种度量方法,尤其是结构度量,以提高程序代码抄袭检测的性能,同时考虑到语义信息和代码结构,降低误报和漏报。后缀语法树作为一种有效的结构分析工具,正在成为解决代码抄袭问题的一种前沿技术。在未来的研究中,可以预见这方面的技术和算法将继续发展和完善,以适应不断变化的信息安全需求。
187 浏览量
2017-12-19 上传
2019-04-10 上传
2018-05-05 上传
2023-05-01 上传
2023-11-16 上传
张诚01
- 粉丝: 32
- 资源: 3924
最新资源
- Aspose资源包:转PDF无水印学习工具
- Go语言控制台输入输出操作教程
- 红外遥控报警器原理及应用详解下载
- 控制卷筒纸侧面位置的先进装置技术解析
- 易语言加解密例程源码详解与实践
- SpringMVC客户管理系统:Hibernate与Bootstrap集成实践
- 深入理解JavaScript Set与WeakSet的使用
- 深入解析接收存储及发送装置的广播技术方法
- zyString模块1.0源码公开-易语言编程利器
- Android记分板UI设计:SimpleScoreboard的简洁与高效
- 量子网格列设置存储组件:开源解决方案
- 全面技术源码合集:CcVita Php Check v1.1
- 中军创易语言抢购软件:付款功能解析
- Python手动实现图像滤波教程
- MATLAB源代码实现基于DFT的量子传输分析
- 开源程序Hukoch.exe:简化食谱管理与导入功能