摘要 | 第5-6页 |
Abstract | 第6-7页 |
第一章 绪论 | 第11-23页 |
1.1 研究背景 | 第11-13页 |
1.2 研究进展 | 第13-18页 |
1.2.1 程序设计语言使用分析 | 第13-15页 |
1.2.2 代码搜索、推荐和补全 | 第15-18页 |
1.3 研究内容 | 第18-21页 |
1.3.1 当前存在问题 | 第18-19页 |
1.3.2 研究内容与贡献 | 第19-21页 |
1.4 论文结构 | 第21-23页 |
第二章 基于词法的代码单元识别 | 第23-41页 |
2.1 引言 | 第23-24页 |
2.2 问题描述 | 第24-28页 |
2.2.1 词袋(Bag-of-Word) | 第24-25页 |
2.2.2 词典(Lexicons) | 第25-26页 |
2.2.3 可识别代码 | 第26-27页 |
2.2.4 最小集算法 | 第27-28页 |
2.3 实验方法 | 第28-30页 |
2.3.1 实验对象 | 第28-29页 |
2.3.2 研究问题 | 第29页 |
2.3.3 工具支持 | 第29-30页 |
2.4 实验结果及分析 | 第30-37页 |
2.4.1 词典LEX和LTT | 第30-32页 |
2.4.2 自然最小词典 | 第32-34页 |
2.4.3 多重性对词法可识别性的影响 | 第34-35页 |
2.4.4 异常大方法对词法可识别性的影响 | 第35-36页 |
2.4.5 基于MIN4的最小集 | 第36-37页 |
2.5 有效性威胁 | 第37-38页 |
2.6 应用分析 | 第38页 |
2.7 相关工作比较 | 第38-39页 |
2.8 总结 | 第39-41页 |
第三章 语法使用分析 | 第41-59页 |
3.1 引言 | 第41-42页 |
3.2 实验方法 | 第42-44页 |
3.2.1 实验对象 | 第42-43页 |
3.2.2 研究问题 | 第43-44页 |
3.2.3 工具支持 | 第44页 |
3.3 单个语法规则使用分析 | 第44-49页 |
3.3.1 聚合结果 | 第44-46页 |
3.3.2 语法规则的深入分析 | 第46-49页 |
3.4 语法规则演化使用分析 | 第49-53页 |
3.4.1 现有语法规则使用的演化 | 第49-51页 |
3.4.2 新语法规则的采用 | 第51-52页 |
3.4.3 新语法规则的引入对现有语法规则的影响 | 第52-53页 |
3.5 语法规则依赖使用分析 | 第53-55页 |
3.5.1 聚合结果 | 第53-54页 |
3.5.2 实例分析 | 第54-55页 |
3.6 有效性威胁 | 第55-56页 |
3.7 应用分析 | 第56-57页 |
3.8 相关工作比较 | 第57-58页 |
3.9 总结 | 第58-59页 |
第四章 API使用分析 | 第59-87页 |
4.1 引言 | 第59-60页 |
4.2 实验方法 | 第60-65页 |
4.2.1 实验对象 | 第60页 |
4.2.2 研究问题 | 第60-61页 |
4.2.3 分析过程 | 第61-64页 |
4.2.4 工具支持 | 第64-65页 |
4.3 API使用全局分析 | 第65-67页 |
4.3.1 API使用来源分析 | 第65-66页 |
4.3.2 项目规模与API使用关系 | 第66页 |
4.3.3 API使用遵循幂次定率 | 第66-67页 |
4.4 核心API使用分析 | 第67-77页 |
4.4.1 覆盖分析 | 第67-70页 |
4.4.2 热点分析 | 第70-74页 |
4.4.3 弃用API使用分析 | 第74-75页 |
4.4.4 精简运行环境的使用分析 | 第75-77页 |
4.5 第三方API使用分析 | 第77-82页 |
4.5.1 API库使用分析 | 第77-78页 |
4.5.2 API实体热点分析 | 第78-81页 |
4.5.3 API库多版本使用分析 | 第81-82页 |
4.6 有效性威胁 | 第82-83页 |
4.7 应用分析 | 第83-85页 |
4.8 相关工作比较 | 第85-86页 |
4.9 总结 | 第86-87页 |
第五章 多程序设计语言协同演化分析 | 第87-103页 |
5.1 引言 | 第87-88页 |
5.2 实验方法 | 第88-93页 |
5.2.1 实验对象 | 第88-89页 |
5.2.2 研究问题 | 第89页 |
5.2.3 分析过程 | 第89-93页 |
5.3 实验结果及分析 | 第93-99页 |
5.3.1 schema演化的频度和强度如何? | 第93-95页 |
5.3.2 schema是如何演化的? | 第95-97页 |
5.3.3 schema修改对应用系统代码的影响程度 | 第97-99页 |
5.4 有效性威胁 | 第99-100页 |
5.5 应用分析 | 第100-102页 |
5.6 相关工作比较 | 第102页 |
5.7 总结 | 第102-103页 |
第六章 总结与展望 | 第103-105页 |
6.1 论文总结 | 第103-104页 |
6.2 工作展望 | 第104-105页 |
附录A Java语法规则 | 第105-107页 |
参考文献 | 第107-114页 |
攻读博士学位期间完成的科研成果列表 | 第114-115页 |
攻读博士学位期间参加科研项目列表 | 第115-116页 |
致谢 | 第116页 |