基于符号执行的MPI程序分析与验证技术研究
摘要 | 第8-10页 |
ABSTRACT | 第10-12页 |
第一章 绪论 | 第13-29页 |
1.1 研究背景 | 第13-15页 |
1.2 MPI介绍 | 第15-19页 |
1.2.1 MPI简要介绍 | 第15-17页 |
1.2.2 MPI常见错误 | 第17-19页 |
1.3 研究动机 | 第19-20页 |
1.4 本文主要研究内容 | 第20-22页 |
1.4.1 同步MPI程序的符号执行 | 第20-21页 |
1.4.2 异步MPI程序的符号执行 | 第21页 |
1.4.3 查找异步MPI程序缓冲区错误 | 第21-22页 |
1.5 相关工作 | 第22-27页 |
1.5.1 共享内存程序缺陷检测 | 第23-24页 |
1.5.2 MPI程序的测试、分析和验证 | 第24-27页 |
1.6 论文结构 | 第27-29页 |
第二章 同步MPI程序的符号执行 | 第29-52页 |
2.1 符号执行技术简介及研究动机示例 | 第29-33页 |
2.1.1 符号执行技术 | 第29-30页 |
2.1.2 研究动机示例 | 第30-33页 |
2.2 符号执行同步MPI程序 | 第33-46页 |
2.2.1 即时调度 | 第35-37页 |
2.2.2 通配接收处理 | 第37-38页 |
2.2.3 正确性证明 | 第38-46页 |
2.3 工具实现 | 第46-48页 |
2.4 实验结果 | 第48-50页 |
2.5 本章总结 | 第50-52页 |
第三章 异步MPI程序的符号执行 | 第52-75页 |
3.1 非阻塞MPI调用 | 第52-54页 |
3.2 研究动机示例 | 第54-56页 |
3.2.1 非阻塞MPI调用带来的新问题 | 第54-56页 |
3.3 运行实例 | 第56-57页 |
3.4 异步处理方法与面向死锁的引导 | 第57-70页 |
3.4.1 扫描分段 | 第58-60页 |
3.4.2 段内匹配 | 第60-62页 |
3.4.3 面向死锁的符号执行引导 | 第62-70页 |
3.5 实现与实验评估 | 第70-74页 |
3.5.1 实现平台简要介绍 | 第70-71页 |
3.5.2 实验评估 | 第71-74页 |
3.6 本章总结 | 第74-75页 |
第四章 MPI程序缓冲区错误检测 | 第75-86页 |
4.1 研究动机示例 | 第75-77页 |
4.2 检查算法与优化 | 第77-82页 |
4.2.1 符号执行框架 | 第77-78页 |
4.2.2 缓冲区错误检查 | 第78-81页 |
4.2.3 优化技术 | 第81-82页 |
4.2.4 讨论 | 第82页 |
4.3 工具实现 | 第82-83页 |
4.4 实验评估 | 第83-85页 |
4.5 本章总结 | 第85-86页 |
第五章 总结与展望 | 第86-89页 |
5.1 本文总结 | 第86-87页 |
5.2 进一步工作 | 第87-89页 |
致谢 | 第89-91页 |
参考文献 | 第91-101页 |
作者在学期间取得的学术成果 | 第101页 |