基于源码分析的软件安全测试技术研究
| 摘要 | 第1-5页 |
| ABSTRACT | 第5-9页 |
| 第1章 软件测试技术研究背景 | 第9-15页 |
| ·软件测试研究背景 | 第9页 |
| ·软件测试方法研究背景 | 第9-11页 |
| ·软件测试工具分类 | 第11-15页 |
| ·白盒测试工具 | 第11-12页 |
| ·黑盒测试工具 | 第12-13页 |
| ·测试管理工具 | 第13页 |
| ·专用测试工具 | 第13页 |
| ·测试辅助工具 | 第13-15页 |
| 第2章 静态分析软件测试技术 | 第15-25页 |
| ·传统软件测试方法的缺陷 | 第15-16页 |
| ·静态分析测试原理分析 | 第16-19页 |
| ·模型检测 | 第16页 |
| ·符号执行 | 第16-17页 |
| ·类型推断 | 第17页 |
| ·数据流分析 | 第17-18页 |
| ·约束分析 | 第18页 |
| ·写入程序编译扩展发现安全漏洞 | 第18-19页 |
| ·静态软件安全测试工具综述 | 第19-21页 |
| ·静态测试存在的问题 | 第21页 |
| ·基于缺陷模型的静态代码分析 | 第21-25页 |
| ·研究意义 | 第21-22页 |
| ·软件模型分类 | 第22-25页 |
| 第3章 代码安全漏洞 | 第25-48页 |
| ·软件安全研究背景 | 第25页 |
| ·软件安全漏洞分类 | 第25-27页 |
| ·数值泄露 | 第25-26页 |
| ·对象变量合并 | 第26页 |
| ·垃圾回收器访问权限 | 第26页 |
| ·方法存储静态域问题 | 第26页 |
| ·有关域的相关问题 | 第26-27页 |
| ·程序设计语言存在的安全漏洞 | 第27-48页 |
| ·Java语言安全漏洞分析 | 第27-35页 |
| ·C/C++语言安全漏洞分析 | 第35-48页 |
| 第4章 DTS_CPP项目介绍 | 第48-54页 |
| ·DTS_CPP项目执行流程 | 第48-49页 |
| ·模块功能 | 第49-54页 |
| ·抽象语法树 | 第49-50页 |
| ·控制流图 | 第50-51页 |
| ·符号表 | 第51页 |
| ·区间运算 | 第51-52页 |
| ·故障模式状态机 | 第52-54页 |
| 第5章 DTS_CPP项目检测算法介绍 | 第54-74页 |
| ·通用算法 | 第54页 |
| ·C++缓冲区溢出 | 第54-61页 |
| ·造成缓冲区溢出的函数 | 第54-56页 |
| ·缓冲区溢出检测算法 | 第56-57页 |
| ·缓冲区溢出检测状态机 | 第57页 |
| ·缓冲区溢出测试结果举例 | 第57-61页 |
| ·C++竞争条件 | 第61-68页 |
| ·引起竞争条件的函数 | 第61-63页 |
| ·竞争条件检测状态机 | 第63页 |
| ·竞争条件测试结果举例 | 第63-68页 |
| ·C++数组越界 | 第68-74页 |
| ·对数组越界的检测 | 第68-69页 |
| ·数组越界检测状态机 | 第69页 |
| ·数组越界测试结果举例 | 第69-74页 |
| 第6章 结论 | 第74-76页 |
| ·研究工作总结 | 第74-75页 |
| ·展望 | 第75-76页 |
| 参考文献 | 第76-78页 |
| 致谢 | 第78-79页 |
| 作者攻读学位期间发表的学术论文目录 | 第79页 |