软件调试下多重错误定位算法探析

软件调试下多重错误定位算法探析

ID:22445963

大小:55.00 KB

页数:6页

时间:2018-10-29

软件调试下多重错误定位算法探析_第1页
软件调试下多重错误定位算法探析_第2页
软件调试下多重错误定位算法探析_第3页
软件调试下多重错误定位算法探析_第4页
软件调试下多重错误定位算法探析_第5页
资源描述:

《软件调试下多重错误定位算法探析》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、软件调试下多重错误定位算法探析-->第1章绪论1.1研究背景高可信和复杂的技术系统通常非常依赖于其运行软件的质量,一个未能及时检测的软件故障可能造成整个系统的失效、瘫痪,甚至导致巨大的灾难性后果。例如,1996年6月,欧洲“阿丽亚娜”号航天飞机因导航系统的计算机软件出现故障,致使航天飞机坠毁,造成了数亿美元的巨大损失;2005年4月,软件失灵、继而导航失误,导致耗资1.1亿美元的NASA自主交会任务DART实验失败。事实上软件已经融入到了我们的日常生活中,有着举足轻重的作用。有时一旦软件发生故障,很可能会造成极大的损失。因此提出有效的多错误

2、定位技术对软件的错误诊断有非常重要的意义。程序调试的过程就是开发人员找到程序中的错误并修正错误,当程序运行的输出结果和预期的输出结果不一样时,说明程序出现了错误。这是就需要程序调试人员就行调试程序。通常,程序员或者是手工的进行程序错误的定位,或者是利用调试工具,过程一般是设置断点,运行程序查看结果是否与预期的相符,若一样则说明该断点部分没有错误,否则,表示该断点处有错误,最后是定位错误。这一过程不断的进行,直到程序运行的结果和预期结果一样,调试过程结束。显然,这一过程是要消耗大量的人力、物力资源,大约占据了开发和维护阶段的50%到75%的时

3、间,然而效率往往与软件的规模成反比,效果往往并不是很好。现如今,许多学者提出了不同的错误定位方法,软件错误定位系统应运而生。其中具有代表性的系统模型和软件错误诊断技术包括基于切片的模型、基于状态的模型、基于统计的模型和基于程序谱的模型。在基于切片的模型中典型的方法有静态切片方法,动态切片方法等,可以通过错误变量的程序切片来排除无关变量以减小错误的查找范围;基于状态的模型中比较典型的技术有Delta调试方法、CT方法等,这些方法主要是查找产生不正确输出的原因;基于统计的模型中常使用的方法有Sober方法、Liblit方法等,这些方法通常是插装

4、语句或谓词来记录它们的运行时信息,分析成功、失效测试用例的覆盖信息来定位出错误;基于程序谱的模型中,比较常用的方法有Tarantula方法、Ochiai方法、LOUPE方法等,这些方法是利用程序运行时的覆盖信息或者是依赖信息进行分析后,定位错误。每种模型都有自己的优点,同时也有自己的局限性。比如,使用切片技术,当切片规模较大时有效性降低,算法调试不停询问以缩减可疑区域,这样代价很大3810而使用基于程序谱的模型时,虽然定位效果较好,但是在获取程序的运行覆盖信息需要花费的时间开销往往很大—随着测试用例的增多,所花的时间开销呈指数增长。对于不同

5、类型的错误,采用某一种方法可能很好的定位出错误,然而用另一种技术定位的效果可能会很不理想。比如,如果是谓词错误,我们利用Sober方法可能很好的定位出错误,但是利用切片方法可能效果就不好。也就是说特定类型的错误可由特定的错误定位方法最好的定位。综合以上论述,当前的软件错误定位技术虽然取得了一定的成果,并开发了错误诊断工具,但是仍然存在一定的缺陷。比如,现有很多方法只对程序中的单个错误定位,根据现有的软件错误定位的方法存在的不足,本论文希望设计并实现一个基于程序谱的错误定位方法,并对软件调试中的多错误进行定位。即利用测试套件中的测试用例,获取

6、程序执行时的依赖信息,包括程序的控制依赖和数据依赖信息,计算依赖对的可疑值,通过算法得到哪些代码是错误语句以及导致错误的可疑程度,并以视图形式显示。该方法将为调试人员提供准确的错误定位信息,使源程序中的多个错误得到快速高效修改,从而提高软件开发的效率,节约成本。1.2研究内容本论文的研究主要包括以下两个方面内容:一方面提出一种改进的基于动态依赖的错误定位技术;另一方面,对程序中存在的多错误进行分析并进行有效的定位,帮助程序员能够修改程序中的多错误。主要的研究内容如下:第3章基于程序谱的错误...........21-293.1SFL技术基础

7、知识...........21-233.1.1程序基本块...........213.1.2控制流分析...........21-223.1.3数据流分析...........223.1.4控制依赖和数据...........22-233.1.5程序依赖图...........233.2错误类型统计...........23-243.3现有SFL技术...........24-283.4本章小结...........28-29第4章多错误定位模型的建立...........29-394.1基于动态依赖的错误定位...........29-3

8、24.1.1模型中符号...........294.1.2基于动态依赖的多错误...........29-324.2程序多错误定位...........32-374.2.1源代码

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。