软件克隆代码可重构性分析研究
中文摘要 | 第3-5页 |
abstract | 第5-6页 |
第1章 绪论 | 第9-14页 |
1.1 研究背景及意义 | 第9-10页 |
1.2 研究内容及主要工作 | 第10-12页 |
1.3 研究贡献 | 第12页 |
1.4 本文章节安排及整体框架概述 | 第12-14页 |
第2章 相关研究工作 | 第14-22页 |
2.1 克隆代码相关术语 | 第14页 |
2.2 克隆代码产生的原因及影响 | 第14-16页 |
2.2.1 克隆代码产生的原因 | 第15页 |
2.2.2 克隆代码的影响 | 第15-16页 |
2.3 国内外研究现状及分析 | 第16-21页 |
2.3.1 克隆代码检测 | 第16-18页 |
2.3.2 克隆代码映射 | 第18-19页 |
2.3.3 克隆代码重构识别 | 第19-21页 |
2.4 本章小结 | 第21-22页 |
第3章 克隆代码可重构性分析过程 | 第22-29页 |
3.1 克隆代码检测工具的选择 | 第22-23页 |
3.2 克隆代码嵌套结构的匹配过程 | 第23-24页 |
3.2.1 将克隆代码转化为抽象语法树 | 第23-24页 |
3.2.2 识别具有相同嵌套结构的克隆 | 第24页 |
3.3 克隆代码映射过程 | 第24-25页 |
3.4 克隆代码重构前提条件 | 第25-28页 |
3.5 本章小结 | 第28-29页 |
第4章 克隆代码可重构性分析方法 | 第29-41页 |
4.1 克隆代码嵌套结构匹配方法 | 第29-31页 |
4.1.1 用抽象语法树表示克隆代码 | 第29-30页 |
4.1.2 克隆代码之间嵌套结构的匹配 | 第30-31页 |
4.2 克隆代码映射方法 | 第31-35页 |
4.2.1 选择最优映射的动机 | 第32页 |
4.2.2 映射问题的分解 | 第32-34页 |
4.2.3 程序依赖子图映射 | 第34-35页 |
4.3 利用前提条件分析克隆的可重构性 | 第35-40页 |
4.3.1 与方法提取有关的前提条件检测 | 第36-37页 |
4.3.2 与映射语句之间差异有关的前提条件检测 | 第37-39页 |
4.3.3 与未映射语句有关的前提条件检测 | 第39-40页 |
4.4 本章小结 | 第40-41页 |
第5章 实验与实验结果分析 | 第41-49页 |
5.1 实验运行环境及数据集 | 第41-43页 |
5.1.1 实验运行环境 | 第41-42页 |
5.1.2 实验数据集选取 | 第42-43页 |
5.2 基于克隆代码可重构性分析实验 | 第43-45页 |
5.2.1 克隆代码检测结果 | 第43-44页 |
5.2.2 克隆代码映射结果 | 第44-45页 |
5.3 实验数据结果分析 | 第45-46页 |
5.4 实验评估 | 第46-49页 |
5.4.1 可重构比例 | 第46-47页 |
5.4.2 时间性能 | 第47-48页 |
5.4.3 最优映射算法性能 | 第48-49页 |
第6章 总结与展望 | 第49-51页 |
6.1 总结 | 第49页 |
6.2 研究不足及展望 | 第49-51页 |
参考文献 | 第51-57页 |
附录 | 第57-58页 |
致谢 | 第58-59页 |
攻读学位期间发表的论文及参与的项目 | 第59页 |