图目录 | 第1-8页 |
表目录 | 第8-9页 |
摘要 | 第9-10页 |
Abstract | 第10-11页 |
第一章 绪论 | 第11-17页 |
§1.1 课题研究的背景 | 第11-12页 |
§1.2 课题研究的意义 | 第12页 |
§1.3 程序的正确性保障的研究现状 | 第12-15页 |
·调试 | 第12-13页 |
·动态分析 | 第13页 |
·静态分析 | 第13-14页 |
·三种方法的比较 | 第14-15页 |
§1.4 课题研究的内容和成果 | 第15-16页 |
·研究内容 | 第15页 |
·研究成果 | 第15-16页 |
§1.5 论文的结构 | 第16-17页 |
第二章 OpenMP程序的隐患分析 | 第17-20页 |
§2.1 未指定行为 | 第17-18页 |
§2.2 与栅栏同步相关的死锁 | 第18-20页 |
第三章 OpenMP程序的静态分析的关键技术 | 第20-26页 |
§3.1 OpenMP程序的表示 | 第20-22页 |
·扩展的控制流图 | 第20-21页 |
·调用图 | 第21-22页 |
§3.2 不确定的程序行为的分析 | 第22-24页 |
·“区域分层、按层分析”的思想 | 第22-23页 |
·数据流分析 | 第23-24页 |
§3.3 对程序隐患的解释 | 第24-26页 |
·程序隐患的来龙去脉的说明 | 第24页 |
·程序隐患的严重程度的量化 | 第24-26页 |
第四章 OpenMP程序中的未指定行为的静态检测 | 第26-29页 |
§4.1 结构化并行区中的未指定行为的检测 | 第26-28页 |
·并行区中需要检查的基本块的确定 | 第27页 |
·限定的范围中未指定行为的检测 | 第27-28页 |
§4.2 非结构化并行区中的未指定行为的检测 | 第28-29页 |
第五章 OpenMP程序中的与栅栏同步相关的死锁的静态检测 | 第29-32页 |
§5.1 第一类与栅栏同步相关的死锁的检测 | 第29-31页 |
·四种区域中的第一类死锁的检测 | 第29-30页 |
·由锁变量确定的互斥区中的第一类死锁的检测 | 第30-31页 |
§5.2 第二类与栅栏同步相关的死锁的检测 | 第31-32页 |
第六章 C-Checker的实现及评测 | 第32-63页 |
§6.1 CCRG OpenMP并行编译器 | 第32-33页 |
§6.2 C-Checker的数据结构 | 第33-38页 |
·与基本块相关的数据结构 | 第33-36页 |
·与过程相关的数据结构 | 第36页 |
·与搜索相关的数据结构 | 第36-37页 |
·C-Checker用到的数据结构的关联 | 第37-38页 |
§6.3 C-Checker的主要算法描述 | 第38-57页 |
·结构化并行区中的未指定行为的检测算法 | 第39-45页 |
·非结构化并行区中的未指定行为的检测算法 | 第45-48页 |
·并行区中的死锁的检测算法 | 第48-56页 |
·C-Checker的程序结构 | 第56-57页 |
§6.4 实验 | 第57-63页 |
·检测定制的OpenMP程序中的未指定行为 | 第57-58页 |
·检测定制的OpenMP程序中的与栅栏同步相关的死锁 | 第58-60页 |
·用SPEComp2001评测C-Checker | 第60-63页 |
第七章 结束语 | 第63-64页 |
致谢 | 第64-65页 |
攻读硕士学位期间发表的论文 | 第65-66页 |
参考文献 | 第66-67页 |