摘要 | 第1-5页 |
Abstract | 第5-8页 |
第1章 绪论 | 第8-14页 |
·课题研究的背景与意义 | 第8-9页 |
·基于程序语义分析方法的静态分析工具国内外研究现状 | 第9-12页 |
·程序缺陷检测工具国内外研究综述 | 第9-11页 |
·程序切片工具国内外研究综述 | 第11-12页 |
·课题研究的主要内容及章节安排 | 第12-14页 |
第2章 课题相关的理论基础 | 第14-25页 |
·GCC文本抽象语法树 | 第14-15页 |
·GCC抽象语法树结构 | 第14-15页 |
·GCC抽象语法树分类及常见符号含义 | 第15页 |
·控制流图 | 第15-19页 |
·控制流图概述 | 第15-16页 |
·语句的控制流图描述 | 第16-19页 |
·系统依赖图SDG | 第19-20页 |
·面向对象系统依赖图及分层切片模型 | 第20-23页 |
·标准模板库STL | 第23-24页 |
·本章小结 | 第24-25页 |
第3章 程序静态信息提取研究 | 第25-30页 |
·抽象语法树文本标准化 | 第25页 |
·抽象语法树文本标准化的原因 | 第25页 |
·标准化抽象语法树文本算法描述 | 第25页 |
·消除抽象语法树文本中的冗余信息 | 第25-27页 |
·消除AST文本中冗余信息的原因 | 第25-26页 |
·消除AST文本中冗余信息算法描述 | 第26-27页 |
·基于面向对象技术的源程序静态信息提取 | 第27-28页 |
·采用面向对象技术的原因 | 第27-28页 |
·对源程序设计语言的分类 | 第28页 |
·类之间的调用关系 | 第28页 |
·本章小结 | 第28-30页 |
第4章 程序系统依赖图生成方法研究 | 第30-51页 |
·生成系统依赖图的总体流程 | 第30-31页 |
·预处理 | 第31-36页 |
·确定语句范围 | 第31-32页 |
·switch语句标准化 | 第32-33页 |
·for语句标准化 | 第33页 |
·函数调用语句标准化 | 第33-35页 |
·语句排序 | 第35-36页 |
·控制依赖分析和控制依赖子图生成 | 第36-38页 |
·控制依赖子图 | 第36-37页 |
·跳转语句的处理 | 第37-38页 |
·控制流图的生成 | 第38页 |
·数据依赖分析和数据依赖子图生成 | 第38-50页 |
·到达—定值信息相关概念 | 第38-40页 |
·计算语句的REF、DEF 、GEN和KILL集合 | 第40-43页 |
·计算语句的IN、OUT集合 | 第43-44页 |
·建立数据依赖边 | 第44页 |
·计算过程间的数据流 | 第44-46页 |
·指针分析 | 第46-50页 |
·变量别名分析和数组变量分析 | 第50页 |
·本章小结 | 第50-51页 |
第5章 系统实现及测试分析 | 第51-63页 |
·系统总体设计与实现 | 第51-54页 |
·系统应用环境 | 第54-55页 |
·系统测试与分析 | 第55-62页 |
·源程序1 的测试与分析 | 第55-57页 |
·源程序2 的测试与分析 | 第57-60页 |
·源程序3 的测试与分析 | 第60-62页 |
·实验结果对比分析 | 第62页 |
·本章小结 | 第62-63页 |
结论 | 第63-65页 |
参考文献 | 第65-69页 |
致谢 | 第69页 |