嵌入式软件堆栈溢出的静态测试方法研究
| 致谢 | 第1-6页 |
| 摘要 | 第6-7页 |
| ABSTRACT | 第7-10页 |
| 1 引言 | 第10-13页 |
| ·研究背景与意义 | 第10-11页 |
| ·嵌入式系统的定义与应用 | 第10页 |
| ·嵌入式软件的开发与测试环境 | 第10-11页 |
| ·嵌入式软件测试的意义 | 第11页 |
| ·研究目标 | 第11页 |
| ·拟解决的关键问题 | 第11-12页 |
| ·论文其余部分的组织结构 | 第12-13页 |
| 2 嵌入式软件测试方法及工具 | 第13-19页 |
| ·嵌入式软件测试方法 | 第13-14页 |
| ·白盒测试原理 | 第13页 |
| ·黑盒测试原理 | 第13页 |
| ·白盒测试与黑盒测试的比较 | 第13-14页 |
| ·白盒测试的流程分析 | 第14-15页 |
| ·静态分析 | 第14-15页 |
| ·动态分析 | 第15页 |
| ·静态分析与动态分析的比较 | 第15页 |
| ·国内外嵌入式软件静态测试工具 | 第15-18页 |
| ·代码质量分析工具 | 第16页 |
| ·代码缺陷分析工具 | 第16页 |
| ·内存分析与错误检测工具 | 第16-17页 |
| ·堆栈溢出静态分析工具 | 第17-18页 |
| ·本章小结 | 第18-19页 |
| 3 C语言代码中常见的问题与预防措施 | 第19-23页 |
| ·C语言代码中常见的问题 | 第19-21页 |
| ·内存泄露 | 第19页 |
| ·缓冲区溢出 | 第19-20页 |
| ·指针引用出错 | 第20页 |
| ·数组越界 | 第20-21页 |
| ·堆栈溢出 | 第21页 |
| ·对于C语言代码安全隐患的预防措施 | 第21-22页 |
| ·开发过程中遵循C语言编程规范 | 第21-22页 |
| ·严格控制函数调用层次与递归调用 | 第22页 |
| ·测试阶段对源代码进行详细分析 | 第22页 |
| ·本章小结 | 第22-23页 |
| 4 堆栈溢出静态测试方案的设计 | 第23-42页 |
| ·堆栈溢出的研究 | 第23-29页 |
| ·堆栈在内存中的位置与功能简介 | 第23-25页 |
| ·堆栈生长过程分析 | 第25-28页 |
| ·堆栈溢出情景分析 | 第28-29页 |
| ·堆栈测试方案关键技术与设计目标 | 第29-30页 |
| ·堆栈溢出测试的关键技术 | 第29-30页 |
| ·堆栈溢出静态测试方案的设计目标 | 第30页 |
| ·函数堆栈使用情况分析 | 第30-38页 |
| ·源代码与汇编代码 | 第30-32页 |
| ·汇编代码的进一步分析 | 第32-36页 |
| ·函数堆栈统计算法 | 第36-38页 |
| ·函数调用关系分析 | 第38-41页 |
| ·函数调用关系算法 | 第38-39页 |
| ·函数调用关系算法的实现 | 第39-41页 |
| ·堆栈溢出静态测试方案 | 第41页 |
| ·本章小结 | 第41-42页 |
| 5 堆栈溢出静态测试软件的开发与测试 | 第42-51页 |
| ·堆栈溢出静态测试软件的开发 | 第42-45页 |
| ·堆栈溢出静态测试软件的功能测试 | 第45-49页 |
| ·堆栈溢出静态测试软件的性能测试 | 第49-50页 |
| ·本章小结 | 第50-51页 |
| 6 结论 | 第51-52页 |
| 参考文献 | 第52-54页 |
| 作者简历 | 第54-56页 |
| 学位论文数据集 | 第56页 |