摘要 | 第4-5页 |
ABSTRACT | 第5-6页 |
第一章 绪论 | 第9-15页 |
1.1 研究背景及意义 | 第9-10页 |
1.2 国内外研究现状 | 第10-13页 |
1.2.1 源代码同源比对技术 | 第10-11页 |
1.2.2 缺陷检测技术 | 第11-13页 |
1.3 主要研究内容 | 第13页 |
1.4 论文结构 | 第13-15页 |
第二章 源代码同源比对及缺陷分析相关技术 | 第15-28页 |
2.1 基于文本的同源比对技术 | 第15-19页 |
2.1.1 Simhash算法 | 第15-17页 |
2.1.2 行比对算法 | 第17-19页 |
2.2 基于抽象语法树的同源比对技术 | 第19-26页 |
2.2.1 源代码预处理 | 第21页 |
2.2.2 词法分析 | 第21-22页 |
2.2.3 语法分析 | 第22-24页 |
2.2.4 节点比对 | 第24-26页 |
2.2.5 相似度计算 | 第26页 |
2.3 基于污点分析的缺陷代码分析与提取技术 | 第26-27页 |
2.3.1 污点标记 | 第26-27页 |
2.3.2 污点传播 | 第27页 |
2.3.3 代码提取 | 第27页 |
2.4 本章小结 | 第27-28页 |
第三章 基于源代码同源比对的缺陷检测系统设计 | 第28-40页 |
3.1 系统需求分析 | 第28页 |
3.1.1 系统功能性需求 | 第28页 |
3.1.2 系统非功能性需求 | 第28页 |
3.2 系统总体设计 | 第28-29页 |
3.3 系统模块设计 | 第29-37页 |
3.3.1 用户权限控制模块 | 第29-30页 |
3.3.2 同源比对模块 | 第30-33页 |
3.3.3 缺陷管理模块 | 第33-34页 |
3.3.4 网络爬虫模块 | 第34-36页 |
3.3.5 结果输出模块 | 第36-37页 |
3.4 数据库设计 | 第37-39页 |
3.5 本章小结 | 第39-40页 |
第四章 抽象语法树比对算法的改进 | 第40-51页 |
4.1 算法背景 | 第40-42页 |
4.2 算法描述 | 第42-44页 |
4.3 算法步骤 | 第44-45页 |
4.3.1 叶子节点删减 | 第44页 |
4.3.2 摘要值计算比较 | 第44页 |
4.3.3 删减节点添加 | 第44-45页 |
4.4 相似度分析 | 第45页 |
4.5 实验结果验证 | 第45-50页 |
4.6 本章小结 | 第50-51页 |
第五章 基于程序依赖关系的缺陷代码检测技术研究 | 第51-61页 |
5.1 算法流程 | 第51-58页 |
5.1.1 程序依赖图构建 | 第52-56页 |
5.1.2 别名采集 | 第56-58页 |
5.1.3 污点传播分析 | 第58页 |
5.2 实验结果验证 | 第58-60页 |
5.3 本章小结 | 第60-61页 |
第六章 基于源代码同源比对的缺陷检测系统实现与测试 | 第61-87页 |
6.1 系统实现 | 第61-71页 |
6.1.1 权限控制模块 | 第61-63页 |
6.1.2 同源比对模块 | 第63-67页 |
6.1.3 缺陷管理模块 | 第67-69页 |
6.1.4 网络爬虫模块 | 第69-70页 |
6.1.5 结果输出模块 | 第70-71页 |
6.2 系统测试与分析 | 第71-82页 |
6.2.1 同源比对模块 | 第71-79页 |
6.2.2 缺陷管理模块 | 第79-81页 |
6.2.3 网络爬虫模块 | 第81-82页 |
6.3 系统部署应用 | 第82-86页 |
6.4 本章小结 | 第86-87页 |
第七章 总结与展望 | 第87-89页 |
7.1 工作总结 | 第87页 |
7.2 下一步研究方向 | 第87-89页 |
参考文献 | 第89-91页 |
致谢 | 第91-92页 |
攻读学位期间发表的学术论文目录 | 第92页 |