| 摘要 | 第1-10页 |
| ABSTRACT | 第10-11页 |
| 第一章 引言 | 第11-17页 |
| §1.1 课题背景及意义 | 第11-12页 |
| ·程序的可信性 | 第11-12页 |
| ·编译器自身的可信性 | 第12页 |
| §1.2 研究现状 | 第12-15页 |
| ·程序的可信性 | 第12-14页 |
| ·编译器自身的可信性 | 第14-15页 |
| §1.3 主要工作和创新 | 第15-16页 |
| §1.4 本文结构 | 第16-17页 |
| 第二章 MISRA-C安全子集规范 | 第17-23页 |
| §2.1 MISRA-C安全子集规范的提出 | 第17-18页 |
| §2.2 MISRA-C规则的分类和内容 | 第18-21页 |
| §2.3 关于MISRA-C规范的思考 | 第21-23页 |
| ·MISRA-C的部分负面效应 | 第21-22页 |
| ·MISRA-C的改进与发展 | 第22-23页 |
| 第三章 GCC流程及重要数据结构分析 | 第23-32页 |
| §3.1 GCC流程 | 第23-24页 |
| ·GCC编译器流程 | 第23-24页 |
| ·C编译器前端流程 | 第24页 |
| §3.2 GCC中的重要数据结构 | 第24-32页 |
| ·预处理数据结构 | 第25-26页 |
| ·GCC的语法树结构 | 第26-30页 |
| ·GCC的符号表结构 | 第30-32页 |
| 第四章 基于GCC实现支持MISRA-C的CCRG-SC编译器 | 第32-53页 |
| §4.1 CCRG-SC编译器设计原则 | 第32-33页 |
| §4.2 CCRG-SC的模块化实现 | 第33-34页 |
| §4.3 CCRG-SC实现方法分类 | 第34-35页 |
| §4.4 预处理和词法相关规则 | 第35-37页 |
| ·关键技术 | 第35-36页 |
| ·具体实现 | 第36-37页 |
| §4.5 声明相关规则 | 第37-41页 |
| ·关键技术 | 第37-39页 |
| ·具体实现 | 第39-41页 |
| §4.6 表达式和初始化相关规则 | 第41-45页 |
| ·关键技术 | 第41-43页 |
| ·具体实现 | 第43-45页 |
| §4.7 控制流相关规则 | 第45-48页 |
| ·过程内控制流相关规则的检查 | 第45-46页 |
| ·过程间的控制流相关规则的检查 | 第46-48页 |
| §4.8 运行失败相关规则 | 第48-49页 |
| ·关键技术 | 第48页 |
| ·具体实现 | 第48-49页 |
| §4.9 实验和分析 | 第49-52页 |
| ·CCRG-SC的功能测试 | 第50-51页 |
| ·CCRG-SC的性能测试 | 第51-52页 |
| §4.10 CCRG-SC的特点 | 第52-53页 |
| 第五章 C编译器验证工具CVT | 第53-66页 |
| §5.1 编译器测试方法 | 第53-54页 |
| §5.2 CVT框架 | 第54-55页 |
| §5.3 GREAT的设计与应用 | 第55-62页 |
| ·GREAT工作原理 | 第55-56页 |
| ·GREAT实现中的技术特点和创新 | 第56-57页 |
| ·GREAT实现 | 第57-60页 |
| ·GREAT实验结果和分析 | 第60-62页 |
| §5.4 CCRG-SC的表达式处理能力测试及分析 | 第62-66页 |
| ·测试结果 | 第62页 |
| ·测试结果分析 | 第62-64页 |
| ·CCRG-SC和GCC-3.4.6的测试比较及分析 | 第64-66页 |
| 第六章 结束语 | 第66-68页 |
| §6.1 工作总结 | 第66-67页 |
| §6.2 下一步的工作 | 第67-68页 |
| 致谢 | 第68-69页 |
| 参考文献 | 第69-72页 |
| 作者在攻读硕士学位期间取得的学术成果 | 第72页 |