基于系统依赖图的自动代码克隆检测技术与农业机器人模拟设计
1. 代码克隆检测概述
在大型软件系统中,为了识别代码克隆,需要详细了解编程语言的特性、内部工作结构以及文件保存的扩展名。识别代码克隆时,需将每个代码组件与程序中所有可用的代码组件进行比较,这在计算能力和时间上成本较高。目前主要有 5 种技术用于从一组程序中查找代码克隆,下面对这些技术进行详细介绍。
2. 代码克隆检测技术分类
- 基于文本的检测技术
- Duploc 工具 :由 Ducasse 等人引入,是一种独立于语言的动态模式匹配算法,但无法从代码中识别有意义的克隆。
- NICAD 工具 :Roy 等人开发,使用基于文本的算法在 C 编程语言中进行代码克隆检测,能提供高精度和高召回率的合理结果。
- VEDETECT 系统 :Liu 等人提出,以源代码为输入,为每个代码块创建 MD5 哈希值。
- 基于标记的技术
- CCFinder 工具 :Kamiya 等人引入,借助后缀树匹配算法从 COBOL、C、Java 等编程语言和大型代码中提取代码克隆。
- Shinobi 工具 :Kawaguchi 等人开发,采用基于后缀的数组索引方法在客户端 - 服务器结构设计中查找
超级会员免费看
订阅专栏 解锁全文
6120

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



