基于序列匹配和字节码的代码克隆检测研究
详细摘要 | 第2-8页 |
摘要 | 第8-9页 |
Abstract | 第9-10页 |
第一章 绪论 | 第13-19页 |
1.1 研究背景与意义 | 第13-14页 |
1.2 国内外研究现状 | 第14-17页 |
1.2.1 基于Text的代码克隆检测 | 第14页 |
1.2.2 基于Token的代码克隆检测 | 第14-15页 |
1.2.3 基于抽象语法树的代码克隆检测 | 第15页 |
1.2.4 基于程序依赖图的代码克隆检测 | 第15-16页 |
1.2.5 基于度量值的代码克隆检测 | 第16页 |
1.2.6 基于Java字节码的代码克隆检测 | 第16-17页 |
1.2.7 其他检测方法 | 第17页 |
1.3 本文研究内容 | 第17-18页 |
1.4 本文组织结构 | 第18-19页 |
第二章 相关理论基础 | 第19-29页 |
2.1 代码克隆 | 第19-24页 |
2.1.1 代码克隆的定义及分类 | 第19-20页 |
2.1.2 代码克隆的检测过程 | 第20-22页 |
2.1.3 代码克隆的评估标准 | 第22-24页 |
2.2 Java字节码概述 | 第24-27页 |
2.2.1 Class文件结构 | 第24-25页 |
2.2.2 字节码指令 | 第25-27页 |
2.3 本章小结 | 第27-29页 |
第三章 基于序列匹配的代码克隆检测 | 第29-41页 |
3.1 相关定义 | 第29-30页 |
3.2 原始Smith-Waterman算法 | 第30-32页 |
3.3 改进的Smith-Waterman算法 | 第32-34页 |
3.4 代码克隆检测 | 第34-40页 |
3.4.1 预处理 | 第34-36页 |
3.4.2 克隆检测 | 第36-38页 |
3.4.3 克隆报告 | 第38-40页 |
3.5 本章小结 | 第40-41页 |
第四章 基于字节码的Java代码克隆检测 | 第41-61页 |
4.1 相关定义 | 第41-42页 |
4.2 分类层次架构 | 第42-44页 |
4.3 代码克隆检测 | 第44-60页 |
4.3.1 代码预处理 | 第44-53页 |
4.3.2 代码克隆检测 | 第53-58页 |
4.3.3 克隆对合并 | 第58-60页 |
4.3.4 克隆报告 | 第60页 |
4.4 本章小结 | 第60-61页 |
第五章 实验分析 | 第61-71页 |
5.1 实验准备 | 第61-63页 |
5.1.1 实验软件 | 第61-62页 |
5.1.2 结果评价指标和基准 | 第62-63页 |
5.2 基于序列匹配的代码克隆检测实验分析 | 第63-66页 |
5.2.1 参数选取 | 第63页 |
5.2.2 与现有方法对比 | 第63-66页 |
5.3 基于字节码的Java代码克隆检测实验分析 | 第66-70页 |
5.3.1 方法粒度的代码克隆检测 | 第66-68页 |
5.3.2 块粒度的代码克隆检测 | 第68-70页 |
5.4 本章小结 | 第70-71页 |
第六章 总结与展望 | 第71-73页 |
6.1 本文工作总结 | 第71-72页 |
6.2 未来展望 | 第72-73页 |
致谢 | 第73-74页 |
参考文献 | 第74-79页 |
附录 | 第79页 |