摘要 | 第4-5页 |
Abstract | 第5-6页 |
第1章 绪论 | 第9-16页 |
1.1 课题研究的目的与意义 | 第9-11页 |
1.2 数据竞争检测和验证国内外研究现状 | 第11-15页 |
1.2.1 数据竞争检测和验证国外研究现状 | 第11-13页 |
1.2.2 数据竞争检测和验证国内研究现状 | 第13-14页 |
1.2.3 数据竞争检测和验证国内外研究现状分析 | 第14-15页 |
1.3 课题研究的主要内容及章节安排 | 第15-16页 |
第2章 数据竞争理论基础和检测工具 | 第16-26页 |
2.1 数据竞争的理论基础 | 第16-20页 |
2.1.1 数据竞争基本概念 | 第16-17页 |
2.1.2 Lockset算法 | 第17-18页 |
2.1.3 Happens-before关系 | 第18-20页 |
2.2 动态二进制插桩和检测工具 | 第20-24页 |
2.2.1 动态二进制插桩 | 第20-21页 |
2.2.2 Intel Pin平台 | 第21-24页 |
2.3 静态数据竞争分析和检测工具 | 第24-25页 |
2.3.1 静态数据竞争检测工具RELAY | 第24页 |
2.3.2 静态分析工具Cetus | 第24-25页 |
2.4 本章小结 | 第25-26页 |
第3章 动静结合的数据竞争检测和验证方法研究 | 第26-53页 |
3.1 动静结合的数据竞争检测和验证方法基本流程 | 第26-27页 |
3.2 静态数据竞争检测和静态ad-hoc类型同步分析 | 第27-34页 |
3.2.1 静态数据竞争检测 | 第27-28页 |
3.2.2 静态ad-hoc类型同步分析 | 第28-34页 |
3.3 动态数据竞争检测和验证 | 第34-45页 |
3.3.1 动态数据竞争检测 | 第34-38页 |
3.3.2 动态数据竞争验证 | 第38-41页 |
3.3.3 动态数据竞争验证检测 | 第41-43页 |
3.3.4 动态数据竞争验证检测并行化 | 第43-45页 |
3.4 剔除良性和错误的数据竞争 | 第45-47页 |
3.4.1 识别配对写 | 第45-46页 |
3.4.2 识别自旋读 | 第46页 |
3.4.3 确认ad-hoc类型同步并剔除良性和错误的数据竞争 | 第46-47页 |
3.5 识别潜在的有害数据竞争 | 第47-52页 |
3.5.1 识别潜在的空指针解引用内存错误 | 第47-49页 |
3.5.2 识别潜在的未初始化读内存错误 | 第49-50页 |
3.5.3 识别潜在的悬挂指针访问内存错误 | 第50-51页 |
3.5.4 识别潜在的缓冲区溢出内存错误 | 第51-52页 |
3.6 本章小结 | 第52-53页 |
第4章 原型系统的设计和算法验证 | 第53-68页 |
4.1 实验环境 | 第53页 |
4.2 数据竞争检测和验证原型系统的设计 | 第53-56页 |
4.2.1 静态数据竞争检测的设计 | 第55页 |
4.2.2 静态ad-hoc类型同步分析的设计 | 第55页 |
4.2.3 动态数据竞争检测和验证的设计 | 第55-56页 |
4.3 数据竞争检测和验证原型系统功能测试 | 第56页 |
4.4 数据竞争检测和验证实验结果与分析 | 第56-66页 |
4.4.1 Benchmark简介 | 第56-57页 |
4.4.2 实验方法和评价指标 | 第57-58页 |
4.4.3 动态数据竞争检测实验结果总体分析 | 第58-61页 |
4.4.4 动静结合的数据竞争检测和验证实验结果总体分析 | 第61-66页 |
4.5 本章小结 | 第66-68页 |
结论 | 第68-70页 |
参考文献 | 第70-75页 |
攻读硕士学位期间发表的论文及其它成果 | 第75-77页 |
致谢 | 第77页 |