| 【中文题名】 | 一种基于相似路径集生成的程序故障定位方法 |
| 【英文题名】 | A Method for Localizing Program Faults Based on Similar Path Set Generation |
| 【学科专业】 | 计算机软件与理论 |
| 【论文级别】 | 硕士论文 |
| 【投稿时间】 | 2007-8-17 |
| 【中关键词】 | 故障定位,相似路径集,测试路径,程序切片,程序削片, |
| 【英关键词】 | Faults Localization,Similar Paths Set,Test Path,Program Slice,Program Dice, |
| 【分类导航】 | 工业技术>自动化技术、计算机技术>计算技术、计算机技术>计算机软件>程序设计、软件工程>程序设计 |
| 【论文摘要】 |
当今社会,软件与人们的联系越来越密切,软件质量的重要性已不言而喻。软件发生失效后,如何自动调试程序是一个非常有意义的研究课题。虽然程序自动调试这一研究已有很多经验可以借鉴,但究竟如何做到程序故障自动定位则是程序自动调试技术的关键问题。
本文在测试路径生成、测试输入数据生成和动态程序切片等技术的支持下,结合“近邻模型”思想,利用程序削片方法分析失效测试路径与相似成功测试路径的差异。在分析现有的路径相似度量方法及相似路径生成算法基础上,定义了一种新的基于程序控制流差异的路径间的相似度量标准,设计并实现了一种基于替换无约束边的相似路径生成算法。通过试验,分析了算法的复杂度,对比了原有算法,并提出了算法的扩展方向。随后,利用相似路径生成算法、Gupta方法、Chen动态切片方法和削片策略进行了程序故障定位试验,试验表明,本文所提的程序故障定位方法在处理与程序控制流有关的错误时能够有效地定位故障。
本文的工作主要包括以下三个方面:
1)针对Wang方法所存在的问题,定义了一种新的基于控制流差异的相似度量标准,在此基础上讨论了基于失效路径的相似成功候选路径集生成算法。算法考虑到可能产生不... |
| 【论文题纲】 |
|
摘要 |
4-5 |
|
ABSTRACT |
5-11 |
|
第一章 绪论 |
11-15 |
|
1.1 研究动因 |
11-13 |
|
1.1.1 背景 |
11-12 |
|
1.1.2 研究现状 |
12 |
|
1.1.3 存在问题 |
12-13 |
|
1.2 论文的目标与主要工作 |
13-14 |
|
1.3 论文的创新及相关研究课题 |
14 |
|
1.4 论文的组织安排 |
14-15 |
|
第二章 软件故障定位技术基础 |
15-27 |
|
2.1 近邻模型 |
15 |
|
2.2 最少谓词策略 |
15 |
|
2.3 程序分析技术 |
15-21 |
|
2.3.1 控制流分析 |
15-16 |
|
2.3.2 数据流分析 |
16-17 |
|
2.3.3 依赖分析 |
17-18 |
|
2.3.4 DD图表示法 |
18-21 |
|
2.4 程序切片 |
21-23 |
|
2.4.1 概述 |
21 |
|
2.4.2 Chen的动态切片方法 |
21-23 |
|
2.5 调试中的错误分析及切片选取 |
23-24 |
|
2.6 测试路径生成与测试输入数据生成技术 |
24-25 |
|
2.6.1 概述 |
24 |
|
2.6.2 Gupta的迭代松弛法 |
24-25 |
|
2.7 程序削片 |
25-26 |
|
2.8 小结 |
26-27 |
|
第三章 相似成功候选路径集生成方法研究 |
27-40 |
|
3.1 引言 |
27-28 |
|
3.2 相似成功候选路径集生成基础 |
28-31 |
|
3.3 相似成功候选路径集生成算法 |
31-37 |
|
3.3.1 算法基本思想 |
31-33 |
|
3.3.2 算法描述 |
33-35 |
|
3.3.3 算法复杂度分析 |
35 |
|
3.3.4 试验 |
35-36 |
|
3.3.5 算法的扩展 |
36 |
|
3.3.6 与 Wang工作的对比 |
36-37 |
|
3.4 小结 |
37-40 |
|
第四章 基于相似路径集的故障定位方法及其实例研究 |
40-46 |
|
4.1 引言 |
40-41 |
|
4.2 相似成功候选路径集生成 |
41-42 |
|
4.3 可行路径的测试输入数据生成 |
42-44 |
|
4.4 失效测试与成功测试对应的动态切片生成 |
44 |
|
4.5 削片-故障报告 |
44-45 |
|
4.6 小结 |
45-46 |
|
第五章 故障定位原型系统的框架 |
46-50 |
|
5.1 引言 |
46 |
|
5.2 原型系统的框架 |
46-47 |
|
5.3 框架内的相关工具 |
47-49 |
|
5.4 小结 |
49-50 |
|
第六章 结束语 |
50-51 |
|
6.1 本文的主要工作 |
50 |
|
6.2 存在的问题和下一步工作 |
50-51 |
|
参考文献 |
51-56 |
|
在校期间发表的论文、科研成果等 |
56 |
|
在校期间参与的科研项目 |
56-57 |
|
致谢 |
57-58 |
|
附录A 修改过的 TCAS.C-V9程序 |
58-60 |
|
附录B TCAS.C-V9程序的动态程序切片 |
60-64 |
|
索引 |
64-65 |
|
| 【DOI】 | LunWen.ID:2.2008.360165 |