摘要 | 第4-5页 |
Abstract | 第5页 |
第一章 绪论 | 第8-15页 |
1.1 研究背景及意义 | 第8-10页 |
1.2 国内外研究现状 | 第10-12页 |
1.3 研究内容及创新 | 第12-13页 |
1.4 论文结构及其安棑 | 第13-15页 |
第二章 相关背景知识介绍 | 第15-23页 |
2.1 代码注释 | 第15-16页 |
2.1.1 代码注释规范 | 第15-16页 |
2.2 版本控制 | 第16-17页 |
2.2.1 集中式版本控制系统 | 第17页 |
2.2.2 分布式版本控制系统 | 第17页 |
2.3 Git核心概念 | 第17-19页 |
2.3.1 工作区 | 第17-18页 |
2.3.2 文件状态 | 第18页 |
2.3.3 提交原理 | 第18-19页 |
2.4 代码托管平台 | 第19-20页 |
2.4.1 GitHub | 第19页 |
2.4.2 Git@OSC | 第19页 |
2.4.3 Gitplex | 第19-20页 |
2.5 注解定位技术分析与评估 | 第20-22页 |
2.5.1 注解系统 | 第20-21页 |
2.5.2 基于正则表达式的注解定位技术 | 第21页 |
2.5.3 基于google-diff-match-patch的注解定位技术 | 第21-22页 |
2.5.4 基于编程语言循环语法的注解定位技术 | 第22页 |
2.6 本章小结 | 第22-23页 |
第三章 基于字符串转换的文本diff注解定位技术 | 第23-32页 |
3.1 总体概览 | 第23-24页 |
3.2 文本diff | 第24-28页 |
3.2.1 字符串前缀匹配算法 | 第24-25页 |
3.2.2 字符串后缀匹配算法 | 第25-26页 |
3.2.3 中间字符块匹配算法 | 第26-28页 |
3.3 字符串转换 | 第28-30页 |
3.3.1 算法 | 第29-30页 |
3.4 文件行号映射 | 第30页 |
3.4.1 算法 | 第30页 |
3.5 本章小结 | 第30-32页 |
第四章 注解定位辅助优化技术 | 第32-37页 |
4.1 缓存 | 第32-35页 |
4.1.1 缓存使用缘由 | 第32页 |
4.1.2 缓存对象特征 | 第32-33页 |
4.1.3 缓存属性 | 第33页 |
4.1.4 缓存介质 | 第33页 |
4.1.5 缓存实现方案 | 第33-35页 |
4.2 局部性原理矫正技术 | 第35-36页 |
4.2.1 局部性原理定义 | 第35页 |
4.2.2 注解定位错误缘由 | 第35页 |
4.2.3 实现过程 | 第35-36页 |
4.3 本章小结 | 第36-37页 |
第五章 实验与结果分析 | 第37-51页 |
5.1 实验环境 | 第37-38页 |
5.1.1 开发环境 | 第37页 |
5.1.2 Git环境 | 第37-38页 |
5.2 实验数据 | 第38-41页 |
5.2.1 文件提交次数范围占比统计 | 第38-40页 |
5.2.2 文件行数范围占比统讨 | 第40-41页 |
5.3 卖验步骤 | 第41-44页 |
5.3.1 生成随机注解 | 第41-42页 |
5.3.2 文件提交次数影响因素实验步骤 | 第42-43页 |
5.3.3 文件行数影响因素实验步骤 | 第43页 |
5.3.4 实验评价指标 | 第43-44页 |
5.4 实验结果分析 | 第44-50页 |
5.4.1 文件提交次数影响因素实验结果分析 | 第44-45页 |
5.4.2 文件行数影响因素实验结果分析 | 第45-47页 |
5.4.3 对比与改进 | 第47-50页 |
5.5 本章小结 | 第50-51页 |
第六章 总结与展望 | 第51-53页 |
6.1 总结 | 第51页 |
6.2 展望 | 第51-53页 |
参考文献 | 第53-56页 |
附录1 攻读硕士学位期间申请的专利 | 第56-57页 |
致谢 | 第57页 |