摘要 | 第3-4页 |
Abstract | 第4页 |
目录 | 第6-9页 |
图表目录 | 第9-11页 |
第1章 序论 | 第11-16页 |
1.1 研究动机 | 第11-12页 |
1.2 研究要点 | 第12-13页 |
1.3 主要工作和创新点 | 第13-14页 |
1.4 论文结构 | 第14-16页 |
第2章 OORE技术综述 | 第16-31页 |
2.1 软件工业界存在的问题 | 第16-17页 |
2.2 软件逆向工程 | 第17-21页 |
2.2.1 软件逆向工程的概念 | 第17页 |
2.2.2 软件逆向工程的目标 | 第17-19页 |
2.2.3 软件逆向工程相关领域 | 第19-20页 |
2.2.4 软件逆向工程技术分类 | 第20-21页 |
2.3 OORE的技术综述 | 第21-27页 |
2.3.1 对象间的实际关系抽取 | 第21-24页 |
2.3.2 设计模式的识别 | 第24-25页 |
2.3.3 OO程序的度量 | 第25页 |
2.3.4 系统结构恢复和高层抽象技术 | 第25-27页 |
2.4 OORE工具介绍 | 第27-29页 |
2.4.1 支持逆向功能的正向工程环境 | 第28页 |
2.4.2 支持程序分析的工具 | 第28-29页 |
2.4.3 支持高层模型生成的工具 | 第29页 |
2.5 小结 | 第29-31页 |
第3章 OORE研究内容和框架 | 第31-39页 |
3.1 OO和传统程序设计知识比较 | 第31-33页 |
3.2 逆向工程和正向工程的知识关联 | 第33-34页 |
3.3 OORE的特点和层次 | 第34-35页 |
3.4 OORE的系统框架 | 第35-38页 |
3.5 小结 | 第38-39页 |
第4章 基于ECHG的Java语义模型抽取方法 | 第39-68页 |
4.1 面向对象抽取技术 | 第39-48页 |
4.1.1 程序分析技术 | 第39-41页 |
4.1.2 程序分析和代码抽取的关系 | 第41-42页 |
4.1.3 面向对象软件抽取模型 | 第42-46页 |
4.1.4 面向对象程序分析技术 | 第46-48页 |
4.2 Java语言代码多态形式 | 第48-54页 |
4.2.1 Java语言类型模型 | 第48-49页 |
4.2.2 Java多态代码形式 | 第49-54页 |
4.3 基于ECHG的Java多态点解析算法 | 第54-57页 |
4.3.1 Java多态点分析算法 | 第55-56页 |
4.3.2 计算继承集和改写集的算法 | 第56页 |
4.3.3 基于ECHG的Java多态点解析算法 | 第56-57页 |
4.4 抽取的元模型 | 第57-59页 |
4.4.1 词法关系模型 | 第58-59页 |
4.4.2 语义关系模型 | 第59页 |
4.5 系统实现 | 第59-61页 |
4.6 试验结果和讨论 | 第61-67页 |
4.6.1 多态点分析结果 | 第62-63页 |
4.6.2 抽取时间和容器类结果 | 第63-64页 |
4.6.3 抽取结果示例 | 第64-67页 |
4.7 小结 | 第67-68页 |
第5章 OO软件聚集研究 | 第68-86页 |
5.1 软件对象抽象方法 | 第68-71页 |
5.1.1 基于规则推理、转换的抽象 | 第69页 |
5.1.2 基于软件对象聚集的抽象 | 第69-71页 |
5.1.3 基于匹配的抽象技术 | 第71页 |
5.2 基于MST的软件对象语义聚集 | 第71-80页 |
5.2.1 聚集用于OO软件系统 | 第72-73页 |
5.2.2 MST表示一个数据集合 | 第73-74页 |
5.2.3 基于MST的聚集算法 | 第74-76页 |
5.2.4 OO类之间的语义距离 | 第76-78页 |
5.2.5 聚集结果 | 第78-80页 |
5.3 语义关系权重研究 | 第80-84页 |
5.3.1 Mojo聚集评估方法 | 第80-81页 |
5.3.2 Mojo算法 | 第81-82页 |
5.3.3 试验内容设计 | 第82-83页 |
5.3.4 试验结果 | 第83-84页 |
5.4 小结 | 第84-86页 |
第6章 面向对象软件度量 | 第86-96页 |
6.1 度量的定义 | 第86-87页 |
6.2 OO度量体系 | 第87-90页 |
6.2.1 C&K度量体系 | 第87-88页 |
6.2.2 MOOD度量方法[AUBR94,AUBR95] | 第88-90页 |
6.3 软件度量在OORE的应用 | 第90-93页 |
6.3.1 软件度量直接用于度量逆向工程本身 | 第90-91页 |
6.3.2 软件度量用于指导理解和自动发现程序缺陷 | 第91-92页 |
6.3.3 用于发现设计模式、组件、对象 | 第92-93页 |
6.4 AUTOORE中定义的度量 | 第93-95页 |
6.5 小结 | 第95-96页 |
第7章 类的多视图可视化理解工具:MFV-Class | 第96-114页 |
7.1 软件可视化研究 | 第96-99页 |
7.1.1 软件可视化的分类 | 第96-97页 |
7.1.2 软件可视化系统构成 | 第97-98页 |
7.1.3 软件可视化与逆向工程的结合 | 第98-99页 |
7.2 软件理解模型 | 第99-102页 |
7.2.1 自上而下的理解模型 | 第99-101页 |
7.2.2 自下而上的理解模型 | 第101-102页 |
7.2.3 两者结合的模型 | 第102页 |
7.3 类的多视图辅助理解工具:MFV-Class | 第102-112页 |
7.3.1 MFV-Class研制动机 | 第102-103页 |
7.3.2 类的理解模型 | 第103-104页 |
7.3.3 代码抽取模型 | 第104-106页 |
7.3.4 工具实现 | 第106-109页 |
7.3.5 试验结果 | 第109-112页 |
7.4 小结 | 第112-114页 |
第8章 总结和工作展望 | 第114-117页 |
8.1 总结 | 第114-115页 |
8.2 将来工作 | 第115-117页 |
参考文献 | 第117-130页 |
攻读博士期间发表论文 | 第130-131页 |
致谢 | 第131页 |