| 摘要 | 第3-4页 |
| Abstract | 第4页 |
| 1 绪论 | 第7-9页 |
| 1.1 研究背景 | 第7-8页 |
| 1.2 本文主要工作及创新 | 第8页 |
| 1.3 论文结构 | 第8-9页 |
| 2 软件故障定位基础知识及研究现状 | 第9-18页 |
| 2.1 软件故障定位基础知识 | 第9页 |
| 2.2 软件故障定位及研究现状 | 第9-11页 |
| 2.2.1 软件故障定位简介 | 第9页 |
| 2.2.2 研究现状 | 第9-11页 |
| 2.2.3 目前研究中存在的问题 | 第11页 |
| 2.3 常用的软件故障定位方法 | 第11-17页 |
| 2.3.1 基于距离度量的方法 | 第12-13页 |
| 2.3.2 基于特征统计的故障定位方法 | 第13-17页 |
| 2.4 现有软件定位技术的不足 | 第17页 |
| 2.5 小结 | 第17-18页 |
| 3 基于数据挖掘的软件多故障定位框架 | 第18-24页 |
| 3.1 框架的提出 | 第18-20页 |
| 3.1.1 测试用例集动态执行信息的收集 | 第19页 |
| 3.1.2 针对不同错误的测试用例子集的生成 | 第19页 |
| 3.1.3 可疑度的计算 | 第19-20页 |
| 3.1.4 定位结果的评价 | 第20页 |
| 3.2 聚类算法的引入 | 第20-23页 |
| 3.2.1 聚类分析过程 | 第21页 |
| 3.2.2 聚类分析算法介绍 | 第21-23页 |
| 3.3 本章小结 | 第23-24页 |
| 4 基于数据挖掘的软件多故障定位方法 | 第24-40页 |
| 4.1 传统的one-bug-at-a-time的多故障定位方式 | 第24-25页 |
| 4.2 基于聚类的测试用例子集构造 | 第25-30页 |
| 4.2.1 Jones的测试用例子集构造方法 | 第26页 |
| 4.2.2 基于覆盖向量的测试用例子集构造方法 | 第26-28页 |
| 4.2.3 相似系数的选择 | 第28-29页 |
| 4.2.4 聚类算法的提出 | 第29-30页 |
| 4.3 并行多故障定位技术 | 第30-37页 |
| 4.3.1 并行多故障定位技术的基本思想 | 第30页 |
| 4.3.2 基于Tarantula方法的并行多故障定位技术 | 第30-32页 |
| 4.3.3 基于交叉表方法的并行多故障定位技术 | 第32-36页 |
| 4.3.4 基于交叉表的故障定位与Tarantula故障定位方法的对比 | 第36-37页 |
| 4.4 多错误定位效果评价标准 | 第37页 |
| 4.5 多故障定位技术定位效果对比 | 第37-39页 |
| 4.6 本章小结 | 第39-40页 |
| 5 实验和讨论 | 第40-50页 |
| 5.1 实验基本流程 | 第40页 |
| 5.2 实验环境 | 第40-43页 |
| 5.2.1 GCC插桩与编译 | 第41页 |
| 5.2.2 GCOV工具简介 | 第41-43页 |
| 5.3 实验数据说明 | 第43-45页 |
| 5.4 实验结果及分析 | 第45-49页 |
| 5.4.1 基于覆盖向量的测试用例子集构造方法的验证 | 第45-46页 |
| 5.4.2 基于覆盖向量构造方法与Jones构造方法的对比 | 第46-48页 |
| 5.4.3 基于交叉表与基于Tarantula的并行多故障定位对比 | 第48-49页 |
| 5.5 本章小结 | 第49-50页 |
| 6 总结 | 第50-52页 |
| 6.1 总结 | 第50页 |
| 6.2 未来的工作和展望 | 第50-52页 |
| 致谢 | 第52-53页 |
| 参考文献 | 第53-57页 |
| 附录 | 第57页 |