摘要 | 第1-5页 |
Abstract | 第5-9页 |
第1章 绪论 | 第9-12页 |
·课题研究的目的与意义 | 第9页 |
·国内外研究现状及分析 | 第9-11页 |
·课题研究的主要内容及章节安排 | 第11-12页 |
第2章 C 冗余代码及相关缺陷检测涉及的关键技术 | 第12-20页 |
·程序静态分析 | 第12-13页 |
·词法和语法分析方法 | 第13-15页 |
·Lex 简介 | 第13页 |
·YACC 简介 | 第13-14页 |
·Lex 和YACC 使用环境配置 | 第14-15页 |
·语法树 | 第15-16页 |
·程序依赖图 | 第16-19页 |
·PDG 的相关概念 | 第16-17页 |
·PDG 的标准化 | 第17-19页 |
·本章小结 | 第19-20页 |
第3章 冗余代码及相关缺陷检测方法研究 | 第20-62页 |
·C 冗余代码及相关缺陷检测模型 | 第20-21页 |
·模型检测的四种缺陷 | 第21-27页 |
·幂等操作 | 第21页 |
·冗余的赋值 | 第21-22页 |
·死代码 | 第22-23页 |
·冗余的条件表达式 | 第23-27页 |
·程序预处理 | 第27-28页 |
·语法树的生成 | 第28-35页 |
·主要思路 | 第28页 |
·语法树节点结构 | 第28-30页 |
·YACC 中使用的语法规则 | 第30-35页 |
·PDG 的生成 | 第35-42页 |
·基于语法树生成PDG 的思路 | 第35-36页 |
·基于语法树生成PDG 的总体算法描述 | 第36-37页 |
·选择结构的递归处理 | 第37-39页 |
·循环结构的递归处理 | 第39-40页 |
·选择和循环结构中的语句体的处理 | 第40-42页 |
·幂等操作检测 | 第42-44页 |
·幂等操作检测思路 | 第42-43页 |
·幂等操作检测算法描述 | 第43页 |
·利用语法树检测幂等操作示例 | 第43-44页 |
·冗余的赋值检测 | 第44-51页 |
·冗余的赋值的检测思路 | 第44-47页 |
·冗余的赋值的总体检测算法描述 | 第47-49页 |
·全局变量的提取 | 第49-50页 |
·函数参数的提取 | 第50-51页 |
·死代码检测 | 第51-53页 |
·死代码检测思路 | 第51页 |
·死代码检测算法描述 | 第51-52页 |
·由语法树构建PDG 进行死代码检测示例 | 第52-53页 |
·冗余的条件表达式检测 | 第53-61页 |
·冗余的条件表达式的检测思路 | 第53-56页 |
·冗余的条件表达式的总体检测算法描述 | 第56-57页 |
·冗余条件表达式检测中switch 语句的处理 | 第57-59页 |
·冗余条件表达式检测中if 结构的处理 | 第59页 |
·冗余条件表达式检测中循环结构的处理 | 第59-60页 |
·计算表达式所用的算符优先表 | 第60-61页 |
·本章小结 | 第61-62页 |
第4章 C 冗余代码及相关缺陷检测系统的设计与实现 | 第62-71页 |
·系统设计与实现 | 第62页 |
·系统实现环境 | 第62-63页 |
·系统测试与分析 | 第63-70页 |
·开源代码中检测出的缺陷 | 第63-69页 |
·缺陷检测仿真实验及分析 | 第69-70页 |
·本章小结 | 第70-71页 |
结论 | 第71-72页 |
参考文献 | 第72-75页 |
攻读硕士学位期间发表的论文及其它成果 | 第75-77页 |
致谢 | 第77页 |