| 摘要 | 第1-5页 |
| ABSTRACT | 第5-11页 |
| 第一章 绪论 | 第11-14页 |
| ·研究背景和意义 | 第11页 |
| ·国内外研究现状 | 第11-13页 |
| ·课题主要研究内容及组织结构 | 第13-14页 |
| 第二章 程序切片技术的概述 | 第14-21页 |
| ·程序切片的分类 | 第14-15页 |
| ·前向切片和后向切片 | 第14页 |
| ·过程内切片和过程间切片 | 第14页 |
| ·静态切片,动态切片和条件切片 | 第14-15页 |
| ·程序切片的准则 | 第15-17页 |
| ·程序切片的算法 | 第17页 |
| ·程序切片的应用 | 第17-18页 |
| ·程序切片工具的介绍 | 第18-20页 |
| ·本章小结 | 第20-21页 |
| 第三章 动态程序切片技术的分析 | 第21-36页 |
| ·基本概念 | 第21-22页 |
| ·语句控制依赖关系的分析 | 第22-25页 |
| ·依赖图 | 第25-28页 |
| ·程序依赖图(PDG) | 第25页 |
| ·系统依赖图(SDG) | 第25-26页 |
| ·类依赖图(CLDG) | 第26-28页 |
| ·基于依赖图的动态程序切片技术 | 第28-33页 |
| ·面向过程程序的动态程序切片 | 第28-30页 |
| ·面向对象程序的动态程序切片 | 第30-33页 |
| ·基于Demand-Driven 的动态程序切片技术 | 第33-34页 |
| ·其他 | 第34-35页 |
| ·本章小结 | 第35-36页 |
| 第四章 C++程序动态切片系统的关键技术 | 第36-44页 |
| ·基于Demand-Driven 的动态程序切片 | 第36-37页 |
| ·LP 面向过程切片算法的实现 | 第37-39页 |
| ·LP 算法面向对象特性的改进 | 第39-42页 |
| ·函数的概念的扩展 | 第39-40页 |
| ·调用语句种类的扩展 | 第40页 |
| ·扩展存储变量表示形式 | 第40-41页 |
| ·对象之间的赋值 | 第41-42页 |
| ·C++面向对象动态切片算法 | 第42-43页 |
| ·本章小结 | 第43-44页 |
| 第五章 C++程序动态切片系统的实现 | 第44-62页 |
| ·系统结构 | 第44-45页 |
| ·词法和语法分析工具 | 第45-48页 |
| ·ALEX 输入文件 | 第46-47页 |
| ·AYACC 输入文件 | 第47-48页 |
| ·程序信息的保存 | 第48-52页 |
| ·程序插装技术 | 第52-55页 |
| ·程序插装技术的介绍 | 第52-53页 |
| ·插装技术的应用 | 第53-55页 |
| ·集成到Visual C++ 6.0 IDE | 第55-59页 |
| ·切片结果显示 | 第59-61页 |
| ·本章小结 | 第61-62页 |
| 第六章 总结与展望 | 第62-64页 |
| ·本文的主要研究工作 | 第62-63页 |
| ·下一步的工作 | 第63-64页 |
| 参考文献 | 第64-68页 |
| 致谢 | 第68-69页 |
| 在学期间的研究成果及发表的学术论文 | 第69-70页 |
| 附录 | 第70-82页 |
| 附录1: LEX 词法规则 | 第70-75页 |
| 附录2:YACC 语法规则 | 第75-82页 |