一种基于相似路径集生成的程序故障定位方法

来源 :华中师范大学 | 被引量 : 0次 | 上传用户:heran3
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
当今社会,软件与人们的联系越来越密切,软件质量的重要性已不言而喻。软件发生失效后,如何自动调试程序是一个非常有意义的研究课题。虽然程序自动调试这一研究已有很多经验可以借鉴,但究竟如何做到程序故障自动定位则是程序自动调试技术的关键问题。本文在测试路径生成、测试输入数据生成和动态程序切片等技术的支持下,结合“近邻模型”思想,利用程序削片方法分析失效测试路径与相似成功测试路径的差异。在分析现有的路径相似度量方法及相似路径生成算法基础上,定义了一种新的基于程序控制流差异的路径间的相似度量标准,设计并实现了一种基于替换无约束边的相似路径生成算法。通过试验,分析了算法的复杂度,对比了原有算法,并提出了算法的扩展方向。随后,利用相似路径生成算法、Gupta方法、Chen动态切片方法和削片策略进行了程序故障定位试验,试验表明,本文所提的程序故障定位方法在处理与程序控制流有关的错误时能够有效地定位故障。本文的工作主要包括以下三个方面:1)针对Wang方法所存在的问题,定义了一种新的基于控制流差异的相似度量标准,在此基础上讨论了基于失效路径的相似成功候选路径集生成算法。算法考虑到可能产生不可行路径,于是在候选路径集的生成过程中加入了“最少谓词”的启发策略以求所选路径尽可能为可行路径:还考虑到忽略数据流信息所带来的相似度量的副作用,算法产生多条相似路径而非单一相似路径,通过增加路径条数来提高故障定位精度。利用该算法进行了相似路径生成试验,证实算法可以为失效路径自动产生相似路径。2)采用本文所提的程序故障自动定位方法对多个含有故障的C语言程序进行了试验,发现该方法在一定程度上能够降低调试代价,特别是在定位与控制流相关的程序故障时,它的精度较高。3)讨论了基于失效路径及其相似路径集差异分析的程序故障定位原型系统的框架,对框架下的现有可用工具和资源逐一进行了介绍,并给出了相似路径生成工具和故障报告生成工具的开发思路。
其他文献
移动Ad hoc网络(MANET)是由一组带无线收发装置的移动终端组成的一个多跳的临时性自治系统。由于它不依赖固定的基础通信设施,没有中心控制节点,抗毁性强,因此适用于许多网络
本文介绍了分类问题的研究背景、研究现状,着重分析了分类领域中具有重要意义的朴素贝叶斯算法、决策树算法、神经网络算法、K近邻算法和支持向量机算法,并讨论了他们的优缺点
三维建模一直是计算机图形学研究领域的热点问题,三维模型被广泛应用于逆向工程、影视娱乐、虚拟现实、科研、军事、文物保护和三维打印等领域。三维建模已经有几十年的历史,
本文研究的是椭圆型偏微分方程的有限元方法的数值解法。从经典边值问题的椭圆型偏微分方程出发进行研究,运用数学分析的方法,巧妙地将椭圆型偏微分方程问题转化为弱形式积分方
目标跟踪是计算机视觉领域的研究分支,占有非常重要的地位。基于on-line boosting的目标跟踪算法逐渐引起了众多研究者的关注,其在分类器的精度、算法收敛性、对真实问题的拟合
随着计算机应用的不断深入,人们希望计算机能够模拟人类的各种活动,从而有效地协助人类的生产和生活。计算机视觉是完成这一目标的重要任务之一,它的目的是模仿人眼对外部世
集中供热是目前我国北方地区冬季供热的主要形式,经过十几年的发展,现已颇具规模。与之相比,集中供热监控系统的研究与应用起步较晚,在实际应用中还存在一些问题和不足,主要体现在
钻削加工是最复杂的机械加工方法之一。钻削加工参数的确定受机床、刀具、工件材料、加工质量、产品的允许生产时间、生产成本等诸多因素的影响,如果采用常规的工艺设计方法,不
专家系统是-个由存放专门领域知识的知识库,以及-个能选择和运用知识的推理机组成的计算机系统,其核心是知识。但是,从领域专家获取的知识具有不确定性、不精确性和冗余性,如何得
随着网络技术与多媒体技术的飞速发展,互联网已成为传播各种知识和信息的重要途径,但随之而来的盗版问题和版权纷争已成为一个迫切需要解决的社会问题。数字水印技术目前被公