摘要 | 第5-7页 |
ABSTRACT | 第7-8页 |
第1章 绪论 | 第13-18页 |
1.1 研究背景 | 第13-16页 |
1.1.1 多线程程序竞争检测 | 第13页 |
1.1.2 基于动态二进制翻译的分析工具 | 第13-15页 |
1.1.3 国内外研究现状 | 第15-16页 |
1.2 研究目标 | 第16页 |
1.3 论文结构 | 第16-18页 |
第2章 动态二进制翻译基础平台简介 | 第18-36页 |
2.1 简介 | 第18-20页 |
2.2 二进制翻译的过程 | 第20-21页 |
2.3 二进制翻译的分类 | 第21-25页 |
2.3.1 解释器 | 第22页 |
2.3.2 静态二进制翻译 | 第22-23页 |
2.3.3 动态二进制翻译 | 第23-24页 |
2.3.4 三种翻译器的比较 | 第24-25页 |
2.4 动态二进制翻译实验平台CROSSBIT简介 | 第25-29页 |
2.4.1 Crossbit概述 | 第25-26页 |
2.4.2 Crossbit系统框架 | 第26-28页 |
2.4.3 Crossbit的中间语言 | 第28-29页 |
2.5 典型二进制翻译及优化系统介绍 | 第29-35页 |
2.5.1 Pin | 第29-30页 |
2.5.2 Valgrind | 第30-34页 |
2.5.3 Dynamo | 第34-35页 |
2.6 本章小结 | 第35-36页 |
第3章 基于动态二进制翻译的数据竞争检测工具 | 第36-63页 |
3.1 Racebit对多线程的支持 | 第36-43页 |
3.1.1 相关工作 | 第36-37页 |
3.1.2 Pthreads接口介绍 | 第37-39页 |
3.1.3 Racebit多线程支持框架 | 第39-43页 |
3.2 Racebit的整体框架 | 第43-49页 |
3.2.1 相关工作 | 第44-45页 |
3.2.2 支持数据竞争检测的Racebit系统框架 | 第45-46页 |
3.2.3 内存访问探测 | 第46-47页 |
3.2.4 影子内存 | 第47-49页 |
3.2.5 锁集合的实现 | 第49页 |
3.3 Racebit采用的数据竞争检测算法 | 第49-62页 |
3.3.1 相关工作 | 第50-51页 |
3.3.2 动态检测算法 | 第51-58页 |
3.3.3 Racebit使用的检测算法 | 第58-62页 |
3.4 本章小结 | 第62-63页 |
第4章 Racebit的使用与评测 | 第63-69页 |
4.1 Racebit的使用方法 | 第63-64页 |
4.2 性能评测 | 第64-67页 |
4.2.1 时间性能分析 | 第65页 |
4.2.2 功能性分析 | 第65-67页 |
4.3 局限性 | 第67-68页 |
4.4 本章小结 | 第68-69页 |
第5章 结论 | 第69-71页 |
5.1 全文总结 | 第69-70页 |
5.2 未来工作 | 第70-71页 |
参考文献 | 第71-75页 |
致谢 | 第75-76页 |
攻读硕士学位期间已发表或录用的学术论文 | 第76-78页 |