基于符号执行的软件测试技术研究与设计
摘要 | 第5-6页 |
abstract | 第6-7页 |
第一章 绪论 | 第11-17页 |
1.1 研究背景与意义 | 第11-12页 |
1.2 国内研究现状 | 第12-14页 |
1.3 研究主要内容 | 第14-15页 |
1.4 论文结构 | 第15-17页 |
第二章 相关技术介绍 | 第17-30页 |
2.1 符号执行技术 | 第17-22页 |
2.1.1 传统符号执行 | 第18-19页 |
2.1.2 动态符号执行 | 第19-21页 |
2.1.3 选择符号执行 | 第21-22页 |
2.2 程序检测技术 | 第22-27页 |
2.2.1 测试案例自动生成技术 | 第23-24页 |
2.2.2 缺陷检测技术 | 第24-26页 |
2.2.3 模型检测技术 | 第26-27页 |
2.3 符号执行和软件测试面临的问题 | 第27-29页 |
2.4 本章小结 | 第29-30页 |
第三章 自动测试案例生成 | 第30-47页 |
3.1 分离式自动化测试案例生成系统设计 | 第30-32页 |
3.1.1 系统总体架构 | 第30-31页 |
3.1.2 系统处理流程 | 第31-32页 |
3.2 插桩 | 第32-38页 |
3.2.1 变量符号标识 | 第33-34页 |
3.2.2 LLVM-IR识别 | 第34-36页 |
3.2.3 指令插桩 | 第36-37页 |
3.2.4 桩函数 | 第37-38页 |
3.3 混合执行 | 第38-40页 |
3.3.1 符号执行流程 | 第39页 |
3.3.2 混合执行实例 | 第39-40页 |
3.4 测试案例生成 | 第40-43页 |
3.4.1 分支遍历 | 第40-41页 |
3.4.2 约束求解 | 第41-43页 |
3.5 实验 | 第43-46页 |
3.5.1 插桩实验 | 第43-45页 |
3.5.2 测试案例生成 | 第45-46页 |
3.6 本章小结 | 第46-47页 |
第四章 自动缺陷检测 | 第47-59页 |
4.1 自动缺陷检测系统架构 | 第47-49页 |
4.1.1 预处理 | 第47-48页 |
4.1.2 客户端 | 第48页 |
4.1.3 服务器端 | 第48-49页 |
4.1.4 程序测试流程 | 第49页 |
4.2 插桩及桩函数 | 第49-51页 |
4.3 缓冲区检测 | 第51-54页 |
4.4 动态内存检测 | 第54-55页 |
4.5 实验 | 第55-58页 |
4.6 本章小结 | 第58-59页 |
第五章 软件模型检测 | 第59-79页 |
5.1 模型检测系统设计 | 第59-62页 |
5.1.1 系统总体架构 | 第59-60页 |
5.1.2 系统执行流程 | 第60-62页 |
5.1.3 基本属性支持 | 第62页 |
5.2 词法分析 | 第62-66页 |
5.2.1 语句关键字 | 第63页 |
5.2.2 符号 | 第63页 |
5.2.3 变量类型关键字 | 第63-64页 |
5.2.4 状态关键字 | 第64页 |
5.2.5 状态转换 | 第64-66页 |
5.3 生成表达式树 | 第66-72页 |
5.3.1 获取中缀表示 | 第66-68页 |
5.3.2 后缀表示生成 | 第68-70页 |
5.3.3 生成表达式树 | 第70-72页 |
5.4 SMT描述生成 | 第72-74页 |
5.4.1 常用SMT格式 | 第72-73页 |
5.4.2 根据表达式树生成SMT描述 | 第73-74页 |
5.5 综合求解 | 第74-76页 |
5.5.1 KLEE中约束条件SMT描述获取 | 第74-75页 |
5.5.2 属性判定实现 | 第75-76页 |
5.6 实验 | 第76-78页 |
5.6.1 属性描述转换实验 | 第76页 |
5.6.2 属性判定实验 | 第76-78页 |
5.7 本章小结 | 第78-79页 |
第六章 自动化测试平台 | 第79-86页 |
6.1 平台架构 | 第79-80页 |
6.1.1 模块设计 | 第79-80页 |
6.1.2 系统运行原理 | 第80页 |
6.2 用户管理网站 | 第80-83页 |
6.2.1 用户管理 | 第80-81页 |
6.2.2 工程管理 | 第81-83页 |
6.2.3 文件管理 | 第83页 |
6.3 源码版本管理和持续集成 | 第83-85页 |
6.3.1 源码版本管理系统 | 第83-84页 |
6.3.2 持续集成 | 第84-85页 |
6.4 本章小结 | 第85-86页 |
第七章 总结与展望 | 第86-88页 |
7.1 总结 | 第86页 |
7.2 展望 | 第86-88页 |
致谢 | 第88-89页 |
参考文献 | 第89-93页 |
攻读硕士学位期间取得的成果 | 第93-94页 |