摘要
第一章 绪论
1.1 研究背景
1.1.1 软件维护
1.1.2 程序理解
1.2 论文工作
1.2.1 研究内容
1.2.2 研究关键点
1.3 论文结构
1.4 本章小结
第二章 研究现状
2.1 主题模型
2.2 主题模型在软件维护与演化中的应用
2.2.1 主题模型应用于源代码理解
2.2.2 主题模型应用于特征定位
2.2.3 主题模型应用于软件缺陷预测
2.2.4 主题模型应用于开发者推荐
2.2.5 主题模型应用于可跟踪性链接恢复
2.2.6 主题模型应用于重构
2.2.7 主题模型应用于软件历史库理解
2.2.8 主题模型应用于软件回归测试
2.3 主题模型应用中的限制因素
2.4 本章小结
第三章 基于主题模型的包层次聚类
3.1 基本知识
3.2 包聚类技术
3.2.1 分析包的规模
3.2.2 基于LDA提取的特征提取
3.2.3 大规模包中的类文件聚类
3.3 包聚类实验研究
3.3.1 实验环境
3.3.2 实验对象
3.3.4 参数设置
3.3.5 验证方法
3.3.6 实验结果与分析
3.4 有效性威胁
3.5 本章小结
第四章 基于层次主题模型的程序理解
4.1 基本知识
4.2 程序特征树构造技术
4.2.1 预处理源代码
4.2.2 利用hLDA为语料库建模
4.2.3 可视化层次来辅助理解
4.3 例子分析
4.4 实验研究
4.4.1 实验环境
4.4.2 实验对象
4.4.3 参数设置
4.4.4 验证和衡量方法
4.4.5 实验结果与分析
4.5 实验有效性威胁
4.6 本章小结
第五章 基于相关主题模型的程序理解
5.1 基本知识
5.2 使用相关主题模型建立程序网络
5.2.1 预处理
5.2.2 相关主题模型建模
5.2.3 生成程序网络
5.2.4 推荐相关类
5.3 实验评估
5.3.1 实验环境
5.3.2 实验对象
5.3.3 参数设置
5.3.4 实验验证过程
5.3.5 实验结果
5.4 实验有效性威胁
5.5 本章小结
第六章 总结与展望
6.1 工作总结
6.2 未来工作
参考文献
致谢
攻读学位期间发表论文及参加科研项目
声明