一种改进的基于抽象语法树的软件演化分析技术研究
| 摘要 | 第1-6页 |
| Abstract | 第6-10页 |
| 图目录 | 第10-11页 |
| 表目录 | 第11-12页 |
| 第一章 引言 | 第12-18页 |
| ·项目的研究背景 | 第12-13页 |
| ·国内外现状 | 第13-16页 |
| ·基于实体名匹配的差异分析方法 | 第14页 |
| ·基于行的差异分析方法 | 第14-15页 |
| ·基于语法结构的差异分析方法 | 第15-16页 |
| ·基于控制流的差异分析方法 | 第16页 |
| ·本文主要工作与范围 | 第16-17页 |
| ·文章组织结构 | 第17-18页 |
| 第二章 软件程序建模和相关定义 | 第18-27页 |
| ·程序中间表示 | 第18-23页 |
| ·程序的树形结构表示 | 第18-19页 |
| ·树的编辑操作 | 第19-21页 |
| ·JAVA抽象语法树建模 | 第21-23页 |
| ·JAVA抽象语法树遍历 | 第23页 |
| ·软件变更的分类 | 第23-26页 |
| ·变更分类的粒度 | 第24页 |
| ·软件变更分类 | 第24-26页 |
| ·本章小结 | 第26-27页 |
| 第三章 软件演化差异分析算法 | 第27-50页 |
| ·差异分析流程 | 第27页 |
| ·基础树匹配算法 | 第27-35页 |
| ·程序相似度 | 第28-29页 |
| ·基础匹配标准 | 第29-30页 |
| ·匹配失效的情况说明 | 第30-35页 |
| ·改进后的匹配算法 | 第35-42页 |
| ·匹配过程 | 第35-37页 |
| ·叶结点双向最佳匹配 | 第37页 |
| ·叶结点值相似度计算改进 | 第37-40页 |
| ·内部结点相似度计算改进 | 第40-42页 |
| ·噪音的过滤 | 第42页 |
| ·树的编辑操作的计算 | 第42-43页 |
| ·编辑操作到差异分类的映射 | 第43-47页 |
| ·增加操作 | 第43-45页 |
| ·删除操作 | 第45-46页 |
| ·移动操作 | 第46页 |
| ·更新操作 | 第46-47页 |
| ·差异分析的应用 | 第47-49页 |
| ·追踪bug修正信息 | 第47-48页 |
| ·软件演化展示 | 第48页 |
| ·追踪克隆副本程序变更 | 第48页 |
| ·理解软件演化隐藏接口 | 第48-49页 |
| ·动态软件更新 | 第49页 |
| ·代码重构的确认 | 第49页 |
| ·本章小结 | 第49-50页 |
| 第四章 差异分析算法评估 | 第50-61页 |
| ·实验对象 | 第50-51页 |
| ·实验评估标准 | 第51-52页 |
| ·实验验证分析 | 第52-60页 |
| ·变更分析有效性评估 | 第52-55页 |
| ·变更分析准确性评估 | 第55-59页 |
| ·变更分析效率评估 | 第59-60页 |
| ·限制情况 | 第60页 |
| ·本章小结 | 第60-61页 |
| 第五章 总结和展望 | 第61-63页 |
| ·论文小结 | 第61页 |
| ·工作展望 | 第61-63页 |
| 参考文献 | 第63-68页 |
| 致谢 | 第68-69页 |
| 简历与成果 | 第69-71页 |