摘要 | 第1-10页 |
ABSTRACT | 第10-12页 |
第一章 绪论 | 第12-20页 |
·指针相关的内存错误 | 第13-14页 |
·现有的工具和技术 | 第14-16页 |
·本文的研究内容 | 第16-18页 |
·本文的结构 | 第18-20页 |
第二章 程序分析的相关技术 | 第20-35页 |
·程序分析概述 | 第20-23页 |
·数据流分析技术 | 第23-25页 |
·数据流分析算法 | 第25-26页 |
·指针与别名分析的表示 | 第26-30页 |
·别名分析的精确性 | 第30-33页 |
·过程间别名分析 | 第33-34页 |
·本章小结 | 第34-35页 |
第三章 基于抽象赋值路径的形态分析 | 第35-61页 |
·引言 | 第35-36页 |
·形态图 | 第36-45页 |
·具体形态图 | 第36-38页 |
·具体形态图上的程序语义 | 第38-42页 |
·抽象形态图 | 第42-45页 |
·形态图的精化算法 | 第45-50页 |
·抽象语义 | 第50-55页 |
·实验分析 | 第55-56页 |
·正确性证明 | 第56-60页 |
·本章小结 | 第60-61页 |
第四章 需求驱动的内存泄漏检测 | 第61-88页 |
·引言 | 第61-63页 |
·基于指向图的内存抽象 | 第63-66页 |
·基本概念 | 第64-65页 |
·数据流事实 | 第65-66页 |
·需求驱动的内存泄漏检测算法 | 第66-80页 |
·需求驱动的思想 | 第66-68页 |
·过程内分析 | 第68-73页 |
·MOD信息的计算 | 第73-76页 |
·过程间分析 | 第76-79页 |
·算法框架 | 第79-80页 |
·实验分析 | 第80-82页 |
·正确性证明 | 第82-87页 |
·本章小结 | 第87-88页 |
第五章 基于必然别名和可能别名的空指针解引用检测算法 | 第88-102页 |
·引言 | 第88-89页 |
·必然别名的数据流事实 | 第89-92页 |
·必然别名分析 | 第92-96页 |
·空指针解引用的检测 | 第96-98页 |
·实验分析 | 第98-99页 |
·正确性证明 | 第99-101页 |
·本章小结 | 第101-102页 |
第六章 结束语 | 第102-105页 |
·本文的主要贡献 | 第102-103页 |
·下一步研究工作 | 第103-105页 |
致谢 | 第105-107页 |
参考文献 | 第107-117页 |
攻读博士学位期间发表的论文 | 第117页 |