摘要 | 第4-5页 |
Abstract | 第5页 |
第1章 绪论 | 第8-14页 |
1.1 研究背景与意义 | 第8-9页 |
1.2 国内外研究现状 | 第9-11页 |
1.3 研究目的 | 第11页 |
1.4 研究内容 | 第11-12页 |
1.5 本文的结构安排 | 第12-14页 |
第2章 软件重构 | 第14-22页 |
2.1 软件重构的概念 | 第14页 |
2.2 软件重构的意义 | 第14-16页 |
2.3 重构步骤 | 第16-18页 |
2.4 软件并行化重构 | 第18-20页 |
2.5 本章小结 | 第20-22页 |
第3章 面向Java中多线程机制的研究 | 第22-34页 |
3.1 Java中的多线程机制 | 第22-24页 |
3.1.1 Thread | 第22页 |
3.1.2 Executor框架 | 第22-23页 |
3.1.3 Fork/Join框架 | 第23-24页 |
3.2 编程模式对比 | 第24-27页 |
3.3 性能对比 | 第27-31页 |
3.3.1 Thread与Executor框架性能对比 | 第27-29页 |
3.3.2 Thread与Fork/Join框架性能对比 | 第29-31页 |
3.4 本章小结 | 第31-34页 |
第4章 基于软件分析和抽象语法树的软件重构方法 | 第34-42页 |
4.1 软件自动重构方法 | 第34-35页 |
4.2 软件静态分析技术 | 第35-38页 |
4.2.1 软件静态分析的特点 | 第35-36页 |
4.2.2 基于静态分析的重构前置条件的设定 | 第36-38页 |
4.3 抽象语法树 | 第38-40页 |
4.3.1 抽象语法树机制概述 | 第38-40页 |
4.3.2 基于抽象语法树机制的重构逻辑的设定 | 第40页 |
4.4 本章小结 | 第40-42页 |
第5章 重构工具的设计与实现 | 第42-56页 |
5.1 开发平台与工具 | 第42-44页 |
5.1.1 Eclipse LTK重构框架 | 第42-43页 |
5.1.2 Eclipse插件 | 第43页 |
5.1.3 ASTView工具 | 第43-44页 |
5.2 重构工具的实现细节 | 第44-47页 |
5.2.1 AST的创建 | 第44-45页 |
5.2.2 AST的遍历 | 第45页 |
5.2.3 生成JDT代码 | 第45-47页 |
5.3 重构界面的设计与预览 | 第47-50页 |
5.3.1 重构界面设计 | 第47-48页 |
5.3.2 重构界面预览 | 第48-50页 |
5.4 重构工具的测试 | 第50-55页 |
5.4.1 测试环境 | 第50页 |
5.4.2 测试程序与数据 | 第50页 |
5.4.3 重构后程序的正确性测试 | 第50-53页 |
5.4.4 重构性能的测试 | 第53页 |
5.4.5 重构后程序执行时间的测试 | 第53-55页 |
5.5 本章小结 | 第55-56页 |
总结 | 第56-58页 |
参考文献 | 第58-62页 |
攻读硕士学位期间所发表的论文 | 第62-64页 |
致谢 | 第64页 |