一种改进的基于抽象语法树的软件演化分析技术研究
摘要 | 第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页 |