面向多线程程序的确定性重演研究
摘要 | 第4-5页 |
Abstract | 第5页 |
1 绪论 | 第8-16页 |
1.1 课题来源及研究背景与意义 | 第8-9页 |
1.1.1 课题来源 | 第8页 |
1.1.2 研究背景与意义 | 第8-9页 |
1.2 确定性重演 | 第9-13页 |
1.2.1 确定性重演的研究内容 | 第9-11页 |
1.2.2 确定性重演的分类 | 第11-12页 |
1.2.3 确定性重演的应用领域 | 第12-13页 |
1.3 确定性重演的研究现状及分析 | 第13-15页 |
1.4 论文主要工作与组织结构 | 第15-16页 |
2 多线程程序确定性重演优化方案 | 第16-24页 |
2.1 方案概述 | 第16-17页 |
2.2 共享变量分析 | 第17-18页 |
2.2.1 线程逃逸分析 | 第17页 |
2.2.2 基于逃逸分析的共享变量分析 | 第17-18页 |
2.3 记录阶段 | 第18-20页 |
2.4 重演阶段 | 第20-23页 |
2.4.1 构建完整读写依赖关系 | 第20-22页 |
2.4.2 多线程程序的重演执行 | 第22-23页 |
2.5 本章小结 | 第23-24页 |
3 确定性重演的算法实现与正确性验证 | 第24-39页 |
3.1 多线程执行过程建模 | 第24-25页 |
3.2 记录算法实现 | 第25-28页 |
3.3 重演算法实现 | 第28-33页 |
3.4 读写关系一致性验证 | 第33-35页 |
3.5 确定性重演的性能分析 | 第35-38页 |
3.5.1 记录开销分析 | 第36-37页 |
3.5.2 重演准确度分析 | 第37-38页 |
3.6 本章小结 | 第38-39页 |
4 轻量级确定性重演工具的实现 | 第39-52页 |
4.1 相关技术介绍 | 第39-43页 |
4.1.1 ASM架构 | 第39-42页 |
4.1.2 JVM Tool Interface | 第42-43页 |
4.2 确定性重演工具的设计 | 第43-46页 |
4.3 确定性重演工具的实现 | 第46-51页 |
4.3.1 基于ASM架构的字节码转换器 | 第46-50页 |
4.3.2 基于JVM TI的线程状态监控器 | 第50-51页 |
4.4 本章小结 | 第51-52页 |
5 确定性重演方案的测试与分析 | 第52-61页 |
5.1 实验平台搭建 | 第52-53页 |
5.1.1 实验环境 | 第52页 |
5.1.2 确定性重演工具配置与使用 | 第52-53页 |
5.2 方案测试与评价 | 第53-60页 |
5.2.1 记录阶段对比实验 | 第53-55页 |
5.2.2 性能影响因素的测试与分析 | 第55-59页 |
5.2.3 重演准确度测试实验 | 第59-60页 |
5.3 本章小结 | 第60-61页 |
结论 | 第61-63页 |
参考文献 | 第63-67页 |
攻读硕士学位期间发表学术论文情况 | 第67-68页 |
致谢 | 第68-69页 |