基于代码文本分析的程序变更影响分析技术研究
摘要 | 第7-8页 |
Abstract | 第8-9页 |
1 绪论 | 第10-14页 |
1.1 背景与意义 | 第10页 |
1.2 国内外研究现状 | 第10-12页 |
1.3 研究内容 | 第12页 |
1.4 论文结构 | 第12-14页 |
2 相关概念和技术 | 第14-32页 |
2.1 软件变更 | 第14-16页 |
2.1.1 变更原因 | 第14页 |
2.1.2 变更分类 | 第14-16页 |
2.2 变更影响分析 | 第16-20页 |
2.2.1 技术分类 | 第16-17页 |
2.2.2 典型的技术 | 第17-19页 |
2.2.3 变更影响分析过程 | 第19-20页 |
2.3 程序特征表示 | 第20-22页 |
2.3.1 抽象语法树 | 第20页 |
2.3.2 程序依赖图 | 第20-21页 |
2.3.3 面向文本特征表示 | 第21-22页 |
2.4 信息检索 | 第22-28页 |
2.4.1 信息检索的发展 | 第22-23页 |
2.4.2 信息检索模型概述 | 第23-24页 |
2.4.3 向量空间模型 | 第24-26页 |
2.4.4 布尔模型 | 第26-28页 |
2.4.5 概率检索模型 | 第28页 |
2.5 基于向量的相似度计算方法 | 第28-32页 |
2.5.1 相似度计算方法分类 | 第29-30页 |
2.5.2 信息检索中相似度运用 | 第30-32页 |
3 基于代码相似性的变更影响分析 | 第32-50页 |
3.1 技术概览 | 第32页 |
3.2 单词等同化技术 | 第32-35页 |
3.2.1 理论方法依据--概念耦合 | 第32-33页 |
3.2.2 单词提取 | 第33-34页 |
3.2.3 单词权重 | 第34页 |
3.2.4 方法相似度 | 第34页 |
3.2.5 示例 | 第34-35页 |
3.3 单词差异化技术 | 第35-48页 |
3.3.1 理论方法概述 | 第35-36页 |
3.3.2 理论方法依据--克隆代码 | 第36-40页 |
3.3.3 方法注释相似度 | 第40-41页 |
3.3.4 方法签名相似度 | 第41-45页 |
3.3.5 方法整体相似度 | 第45-46页 |
3.3.6 示例 | 第46-48页 |
3.4 方法级代码的变更影响分析 | 第48-50页 |
4 实验设计与实现 | 第50-59页 |
4.1 实验用例 | 第50页 |
4.2 度量体系 | 第50-51页 |
4.3 实验设置 | 第51-52页 |
4.4 实验结果与分析 | 第52-59页 |
4.4.1 基于初始集变化的分析 | 第53-55页 |
4.4.2 基于相似度阈值变化的分析 | 第55-57页 |
4.4.3 基于签名阈值变化的单词差异化技术分析 | 第57-58页 |
4.4.4 实验分析结论 | 第58-59页 |
5 总结与展望 | 第59-61页 |
5.1 总结 | 第59页 |
5.2 展望 | 第59-61页 |
参考文献 | 第61-65页 |
致谢 | 第65-66页 |