| 附件 | 第5-6页 |
| 摘要 | 第6-8页 |
| ABSTRACT | 第8-9页 |
| 目录 | 第10-15页 |
| 表格索引 | 第15-17页 |
| 插图索引 | 第17-19页 |
| 主要符号对照表 | 第19-20页 |
| 第一章 绪论 | 第20-38页 |
| 1.1 研究背景 | 第20-22页 |
| 1.2 研究现状 | 第22-34页 |
| 1.2.1 指向分析的研究现状 | 第22-28页 |
| 1.2.2 带概率的指向分析与投机优化现状 | 第28-30页 |
| 1.2.3 面向方面程序分析的现状 | 第30-32页 |
| 1.2.4 支持 PGAS 模型的并发程序分析的现状 | 第32-34页 |
| 1.3 尚需解决的问题 | 第34-35页 |
| 1.4 论文的内容和主要贡献 | 第35-36页 |
| 1.5 本文内容的组织 | 第36-38页 |
| 第二章 程序表示以及元素符号 | 第38-51页 |
| 2.1 Java 语言程序表示 | 第38-40页 |
| 2.2 针对新型语言的扩展表示 | 第40-50页 |
| 2.2.1 面向方面语言程序表示 | 第40-45页 |
| 2.2.2 支持 PGAS 模型的并发语言程序表示 | 第45-50页 |
| 2.3 本章小结 | 第50-51页 |
| 第三章 带概率的 Java 程序指向分析 | 第51-77页 |
| 3.1 引言 | 第51-53页 |
| 3.2 针对 Java 程序带概率的指向分析 | 第53-62页 |
| 3.2.1 带概率的指向关系以及指向图 | 第53-55页 |
| 3.2.2 带概率的过程内分析 | 第55-59页 |
| 3.2.3 带概率的过程间分析 | 第59-62页 |
| 3.3 实例研究 | 第62-66页 |
| 3.4 实验评估 | 第66-73页 |
| 3.4.1 工具实现 | 第66-67页 |
| 3.4.2 实验设计 | 第67-68页 |
| 3.4.3 指向集的精度评估 | 第68-69页 |
| 3.4.4 指向概率的精度评估 | 第69-71页 |
| 3.4.5 带概率指向分析性能研究 | 第71-72页 |
| 3.4.6 讨论 | 第72-73页 |
| 3.5 应用讨论 | 第73-74页 |
| 3.6 相关工作比较 | 第74-76页 |
| 3.6.1 传统的流敏感指向分析 | 第74-75页 |
| 3.6.2 针对 C 语言带概率的指针分析 | 第75-76页 |
| 3.7 本章小结 | 第76-77页 |
| 第四章 基于 CFL 可达性的流敏感指向分析 | 第77-106页 |
| 4.1 引言 | 第77-79页 |
| 4.2 指向依赖图的构建 | 第79-81页 |
| 4.3 基于 CFL 可达性流敏感指向分析原理 | 第81-83页 |
| 4.4 基于 CFL 可达性流敏感指向分析算法 | 第83-91页 |
| 4.4.1 流敏感指向分析泛型算法 | 第83-85页 |
| 4.4.2 指向分析算法实现 | 第85-91页 |
| 4.5 实例研究 | 第91-96页 |
| 4.6 实验评估 | 第96-102页 |
| 4.6.1 指向依赖图的构建性能 | 第97-99页 |
| 4.6.2 流敏感指向分析算法的评估 | 第99-102页 |
| 4.7 相关工作比较 | 第102-105页 |
| 4.7.1 流敏感指向分析 | 第102页 |
| 4.7.2 需求驱动的指向分析 | 第102-103页 |
| 4.7.3 相关工作小结 | 第103-105页 |
| 4.8 本章小结 | 第105-106页 |
| 第五章 基于 CFL 可达性的并行指向分析 | 第106-126页 |
| 5.1 引言 | 第106-107页 |
| 5.2 基于 CFL 可达性的并行指向分析算法 | 第107-110页 |
| 5.3 算法优化 | 第110-113页 |
| 5.4 实例研究 | 第113-117页 |
| 5.5 实验评估 | 第117-123页 |
| 5.5.1 工具实现 | 第117-118页 |
| 5.5.2 实验设计 | 第118-119页 |
| 5.5.3 实验结果以及讨论 | 第119-123页 |
| 5.6 相关工作比较 | 第123-125页 |
| 5.7 本章小结 | 第125-126页 |
| 第六章 针对方面织入程序的指向分析 | 第126-151页 |
| 6.1 引言 | 第126-128页 |
| 6.2 连接点敏感的指向分析 | 第128-136页 |
| 6.2.1 约束以及约束求解 | 第128-129页 |
| 6.2.2 方面代码分析 | 第129-134页 |
| 6.2.3 约束织入过程 | 第134-136页 |
| 6.3 实例研究 | 第136-142页 |
| 6.4 实验评估 | 第142-149页 |
| 6.4.1 AJPoints 的精度研究 | 第144-146页 |
| 6.4.2 AJPoints 的性能研究 | 第146-149页 |
| 6.5 相关工作比较 | 第149-150页 |
| 6.5.1 指向分析 | 第149-150页 |
| 6.5.2 面向方面软件静态分析 | 第150页 |
| 6.6 本章小结 | 第150-151页 |
| 第七章 针对并发程序的地址分析 | 第151-177页 |
| 7.1 引言 | 第151-152页 |
| 7.2 地址分析规约 | 第152-155页 |
| 7.3 上下文非敏感的地址分析算法 | 第155-161页 |
| 7.3.1 构建活动嵌套图 | 第155页 |
| 7.3.2 地方约束图 | 第155-158页 |
| 7.3.3 地方约束图求解 | 第158-161页 |
| 7.4 实例分析 | 第161-164页 |
| 7.5 活动敏感的地址分析 | 第164-168页 |
| 7.6 实验评估 | 第168-175页 |
| 7.6.1 性能和精度研究 | 第169-172页 |
| 7.6.2 实例域访问的安全性检查 | 第172-175页 |
| 7.7 相关工作 | 第175-176页 |
| 7.7.1 传统的指向分析 | 第175-176页 |
| 7.7.2 X10 语言的地址分析 | 第176页 |
| 7.8 本章小结 | 第176-177页 |
| 全文总结 | 第177-180页 |
| 附录 A 基于数据流迭代的流敏感指向分析 | 第180-181页 |
| 附录 B 基于约束求解的流非敏感指向分析 | 第181-183页 |
| 参考文献 | 第183-197页 |
| 致谢 | 第197-198页 |
| 攻读学位期间发表的学术论文目录 | 第198页 |