基于抽象语法树的软件缺陷自动分类
摘要 | 第5-7页 |
ABSTRACT | 第7-8页 |
第一章 绪论 | 第11-14页 |
1.1 研究背景和研究意义 | 第11-12页 |
1.2 研究现状 | 第12页 |
1.3 本文的工作 | 第12-13页 |
1.4 论文组织结构 | 第13-14页 |
第二章 软件缺陷相关理论 | 第14-27页 |
2.1 软件缺陷概述 | 第14-16页 |
2.1.1 软件缺陷概念 | 第14-15页 |
2.1.2 软件缺陷来源 | 第15-16页 |
2.2 软件缺陷生命周期 | 第16-18页 |
2.3 已有的软件缺陷分类方法 | 第18-22页 |
2.3.1 Putnam分类法 | 第18-19页 |
2.3.2 Thayer分类法 | 第19-20页 |
2.3.3 ODC分类法 | 第20-21页 |
2.3.4 Michael分类法 | 第21页 |
2.3.5 Thung自动分类法 | 第21-22页 |
2.4 本文对软件缺陷的分类 | 第22-26页 |
2.4.1 数据类型软件缺陷 | 第23-24页 |
2.4.2 计算类型软件缺陷 | 第24页 |
2.4.3 结构类型软件缺陷 | 第24-25页 |
2.4.4 控制与逻辑类型软件缺陷 | 第25-26页 |
2.5 本章小结 | 第26-27页 |
第三章 基于抽象语法树的软件缺陷自动分类框架 | 第27-39页 |
3.1 抽象语法树 | 第27-30页 |
3.1.1 抽象语法树的形成 | 第27-28页 |
3.1.2 抽象语法树的结构 | 第28-30页 |
3.2 软件缺陷修复代码的变更类型 | 第30-35页 |
3.3 软件缺陷自动分类框架 | 第35-38页 |
3.4 本章小结 | 第38-39页 |
第四章 实验数据的自动化收集 | 第39-47页 |
4.1 实验对象 | 第39-40页 |
4.2 历史软件缺陷数据提取算法 | 第40-46页 |
4.2.1 SZZ算法 | 第41-43页 |
4.2.2 本文对SZZ算法的改进 | 第43-46页 |
4.3 本章小结 | 第46-47页 |
第五章 实验及结果分析 | 第47-61页 |
5.1 研究问题及其分析方法 | 第47-48页 |
5.2 分类模型建立方法 | 第48-49页 |
5.3 分类结果和软件缺陷特性分析 | 第49-60页 |
5.3.1 软件缺陷代码变更类型分布 | 第49-53页 |
5.3.2 软件缺陷分类性能 | 第53-55页 |
5.3.3 潜在变更类型对软件缺陷分类的作用 | 第55-56页 |
5.3.4 软件缺陷的跨模块分布情况 | 第56-58页 |
5.3.5 缺陷代码在模块位置分布情况 | 第58-59页 |
5.3.6 缺陷代码规模与缺陷模块规模之间的关系 | 第59-60页 |
5.4 本章总结 | 第60-61页 |
第六章 总结与展望 | 第61-63页 |
6.1 工作总结 | 第61页 |
6.2 未来工作 | 第61-63页 |
参考文献 | 第63-65页 |
致谢 | 第65-66页 |
攻读硕士学位期间主要的研究成果 | 第66-67页 |