摘要 | 第4-6页 |
Abstract | 第6-7页 |
第1章 绪论 | 第10-17页 |
1.1 课题的来源及研究的背景和意义 | 第10-13页 |
1.1.1 课题来源 | 第10页 |
1.1.2 课题研究的背景与意义 | 第10-13页 |
1.2 国内外在多核程序确定性重演方向的研究现状及分析 | 第13-15页 |
1.2.1 国内外多核程序确定性重演研究现状 | 第13-14页 |
1.2.2 国内外文献综述简析 | 第14-15页 |
1.3 论文的组织结构 | 第15-17页 |
第2章 基于 Locksmith 与 PinPlay 的多核程序编写和调试机制的设计 | 第17-26页 |
2.1 多核程序的调试方法 | 第17-20页 |
2.1.1 多核程序中的数据竞争 | 第17-18页 |
2.1.2 多核程序常用调试方法 | 第18-20页 |
2.2 面向多核程序的数据竞争检测技术 | 第20-21页 |
2.2.1 动态竞争检测技术 | 第20-21页 |
2.2.2 静态竞争检测技术 | 第21页 |
2.3 多核程序的确定性重演技术研究 | 第21-23页 |
2.4 基于 Locksmith 与 PinPlay 的多核并行程序编写和调试机制的设计 | 第23-24页 |
2.5 本章小结 | 第24-26页 |
第3章 基于 Locksmith 与 PinPlay 的多核并行程序编写和调试机制的实现 | 第26-47页 |
3.1 Locksmith 工作原理和设计思想的研究 | 第26-34页 |
3.1.1 标签和控制流约束生成 | 第27-29页 |
3.1.2 共享分析 | 第29-30页 |
3.1.3 锁状态分析 | 第30页 |
3.1.4 线性分析 | 第30页 |
3.1.5 综合分析 | 第30-32页 |
3.1.6 Locksmith 对多线程并行程序的检测演示 | 第32-34页 |
3.2 Locksmith 误报原因及改进方案 | 第34-41页 |
3.2.1 基于 Cetus 实现的局部区域约束分析 | 第35-36页 |
3.2.2 基于调用关系的全局约束分析 | 第36-37页 |
3.2.3 基于 STP 的约束可满足问题的解决 | 第37-39页 |
3.2.4 Locksmith 改进实例说明 | 第39-41页 |
3.3 Pin 插桩平台的使用与研究 | 第41-43页 |
3.3.1 Pin 插桩平台的框架结构 | 第41-42页 |
3.3.2 基于 Pin 对多核程序进行插桩 | 第42-43页 |
3.4 PinPlay 重演工具的使用与研究 | 第43-45页 |
3.4.1 PinPlay 的工作原理 | 第43-44页 |
3.4.2 PinPlay 在多核程序调试中的应用 | 第44-45页 |
3.5 本章小结 | 第45-47页 |
第4章 基于 Locksmith 与 PinPlay 的多核程序编写和调试机制的仿真 | 第47-55页 |
4.1 仿真平台的搭建 | 第47-49页 |
4.1.1 Locksmith 运行环境的搭建 | 第47页 |
4.1.2 Cetus 和 STP 运行环境的搭建 | 第47-48页 |
4.1.3 Pin 工具的安装 | 第48页 |
4.1.4 PinPlay 的运行环境的搭建 | 第48-49页 |
4.2 基于 Locksmith 的多核程序的数据竞争检测分析 | 第49-53页 |
4.2.1 Benchmark 简介 | 第49-50页 |
4.2.2 Locksmith 对基准程序的测试分析 | 第50-53页 |
4.3 基于 PinPlay 的多核程序的确定性重演分析 | 第53页 |
4.4 基于 Locksmith 与 PinPlay 的多核程序编写和调试机制整体框架分析 | 第53-54页 |
4.5 本章小结 | 第54-55页 |
结论 | 第55-56页 |
参考文献 | 第56-62页 |
攻读学位期间发表的学术论文 | 第62-64页 |
致谢 | 第64页 |