基于抽象语法树的代码抄袭检测工具及图形化建模环境生成方法
在软件开发和学术环境中,代码抄袭检测以及图形化建模环境的高效生成是两个重要的议题。下面将详细介绍基于抽象语法树(AST)的代码抄袭检测工具 Spector,以及借助模式生成图形化建模环境的方法。
基于 AST 的代码抄袭检测工具 Spector
- 背景与动机 :在学术环境里,现有的源代码抄袭检测方法和工具在处理部分情况时存在精度问题。鉴于对程序检测的需求以及语言工程方面的经验,研究团队决定采用编译方法,选择抽象语法树(AST)来分析代码功能。尽管已有声称准确的 AST 相关工具,但它们无法下载使用,因此团队开发了 Spector 工具并将其开源。
- 实现方法
- AST 生成 :为便于生成 AST,使用 ANTLR 从语法文件生成解析器,自动将源代码转换为 AST。
- 目标特征 :聚焦于可修改但不改变源代码功能的特征,如标识符、表达式元素、条件语句和代码块,忽略注释等其他特征。
- 架构设计 :系统命名为 Spector,其架构如下:
graph LR
G[Grammar] --> TB[Parser+TreeBuilder]
P1[Program P1] --> TB
P2[Program P
超级会员免费看
订阅专栏 解锁全文
2万+

被折叠的 条评论
为什么被折叠?



