C/C++程序缓冲区越界静态检测研究
摘要 | 第1-4页 |
Abstract | 第4-7页 |
第一章 绪论 | 第7-11页 |
·研究背景 | 第7-8页 |
·已有研究成果 | 第8-9页 |
·论文的主要工作 | 第9-11页 |
第二章 缓冲区越界表现及解决方案 | 第11-19页 |
·缓冲区越界的表现及分析 | 第11-12页 |
·基于抽象语法树的分析 | 第12-14页 |
·GCC 编译器的中间表示 | 第12-13页 |
·抽象语法树节点处理 | 第13-14页 |
·XDCHECK 整体设计 | 第14-19页 |
·检测工具的体系结构 | 第14-16页 |
·缓冲区越界检查模块 | 第16-19页 |
第三章 缓冲区边界检测的关键技术 | 第19-25页 |
·数组与指针 | 第19-22页 |
·数组与指针的使用 | 第19-21页 |
·字符串与字符数组 | 第21页 |
·指针别名分析 | 第21-22页 |
·整数限制 | 第22-23页 |
·越界问题的整数化处理 | 第22-23页 |
·跟踪和记录数据 | 第23页 |
·跨过程分析 | 第23-25页 |
·前后置条件的生成 | 第24页 |
·跨过程的检查 | 第24-25页 |
第四章 缓冲区边界检测的设计与实现 | 第25-39页 |
·文法符号的属性 | 第25-27页 |
·指针的属性设计 | 第25-26页 |
·其它类型变量的属性设计 | 第26页 |
·属性计算 | 第26-27页 |
·过程内变量跟踪 | 第27-35页 |
·设计思想 | 第27-30页 |
·按作用域管理变量 | 第27-29页 |
·按变量名查找信息 | 第29页 |
·控制语句特殊处理 | 第29-30页 |
·组织结构 | 第30-31页 |
·操作方式 | 第31-33页 |
·操作变量信息的接口 | 第31-33页 |
·操作作用域信息的接口 | 第33页 |
·中间文件对程序分析的影响 | 第33-35页 |
·缓冲区边界检测 | 第35-39页 |
·缓冲区边界检测算法 | 第35-37页 |
·危险库函数的安全规则 | 第37-39页 |
第五章 结束语 | 第39-41页 |
致谢 | 第41-43页 |
参考文献 | 第43-45页 |
附录 源程序实例分析 | 第45-49页 |
一 过程内分析 | 第45-47页 |
二 跨过程分析 | 第47-49页 |
作者在读期间研究成果 | 第49页 |