面向多核处理器的低级并行程序验证
| 摘要 | 第1-4页 |
| ABSTRACT | 第4-8页 |
| 第1章 引言 | 第8-12页 |
| ·背景简介 | 第8-9页 |
| ·研究目的与内容 | 第9-10页 |
| ·论文结构 | 第10-12页 |
| 第2章 验证编译器 | 第12-24页 |
| ·受信任计算基础(TCB) | 第12-13页 |
| ·规范语言的表达能力 | 第13页 |
| ·带证明代码(PCC) | 第13-15页 |
| ·基础带证明代码(FPCC) | 第15页 |
| ·验证汇编编程(CAP) | 第15-20页 |
| ·Hoare 逻辑 | 第15-16页 |
| ·CAP 验证框架的结构 | 第16-19页 |
| ·基本块为单位的验证方式 | 第19-20页 |
| ·相关项目介绍 | 第20-23页 |
| ·Touchstone 编译器项目 | 第20-21页 |
| ·TAL 项目 | 第21-22页 |
| ·Singularity 项目 | 第22页 |
| ·CCm 项目 | 第22-23页 |
| ·本章小结 | 第23-24页 |
| 第3章 MCAP 验证框架概述 | 第24-34页 |
| ·MCAP 的验证流程及优点 | 第24-26页 |
| ·验证流程 | 第24-25页 |
| ·框架优点 | 第25-26页 |
| ·MCAP 框架结构 | 第26-28页 |
| ·MCAP框架的描述与证明工具Coq | 第28-33页 |
| ·Curry-Howard 同构 | 第28页 |
| ·程序语言GALLINA | 第28-29页 |
| ·命令语言Vernacular | 第29-30页 |
| ·交互式定理证明 | 第30-33页 |
| ·本章小结 | 第33-34页 |
| 第4章 MCAP 验证框架的实现 | 第34-59页 |
| ·MCAP 抽象机器设计 | 第34-42页 |
| ·抽象机设计概述 | 第34-37页 |
| ·双核处理器 | 第34页 |
| ·内核同步 | 第34-35页 |
| ·自旋锁 | 第35页 |
| ·死锁 | 第35-36页 |
| ·内存划分 | 第36-37页 |
| ·抽象机器的形式化定义 | 第37-40页 |
| ·MCAP 抽象机语法 | 第37-38页 |
| ·MCAP 抽象机操作语义 | 第38-40页 |
| ·抽象机器的Coq 描述 | 第40-42页 |
| ·内存拥有权的转移 | 第42-43页 |
| ·程序规范 | 第43-44页 |
| ·推理规则 | 第44-49页 |
| ·推理规则的层次 | 第44-45页 |
| ·推理规则的具体定义 | 第45-49页 |
| ·推理规则的Coq 描述 | 第49页 |
| ·可靠性定理及证明 | 第49-54页 |
| ·可靠性定理 | 第49-50页 |
| ·前进性引理及证明 | 第50-51页 |
| ·保持性引理及证明 | 第51-54页 |
| ·可靠性定理的证明 | 第54页 |
| ·目标代码验证举例 | 第54-58页 |
| ·本章小结 | 第58-59页 |
| 第5章 MCAP 框架的扩展 | 第59-66页 |
| ·真实汇编代码级验证 | 第59-61页 |
| ·自旋锁操作原语的真实汇编表示 | 第59-60页 |
| ·MCAP 推理规则的适用 | 第60-61页 |
| ·函数模块化验证 | 第61-63页 |
| ·MIPS 函数调用实例 | 第61页 |
| ·调用与返回指令推理规则的构造 | 第61-63页 |
| ·Assume-Guarantee技术的引入 | 第63-65页 |
| ·本章小结 | 第65-66页 |
| 第6章 总结与展望 | 第66-68页 |
| ·工作总结 | 第66-67页 |
| ·展望 | 第67-68页 |
| 参考文献 | 第68-71页 |
| 致谢 | 第71-72页 |
| 个人简历、在学期间发表的学术论文与研究成果 | 第72页 |