基于多层次频谱的软件故障定位研究

来源 :华中师范大学 | 被引量 : 0次 | 上传用户:zhsotanlb
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
当今社会,计算机软件与人们的生活息息相关,人们对软件质量的要求也越来越高。软件在运行时发生失效,如何实现快速、高效的、准确的软件故障定位仍是学术界和工业界研究的关键问题。基于语句程序频谱的软件故障定位方法通常利用搜集程序在运行测试用例集合产生的语句覆盖信息来计算程序中每条语句发生故障的可疑值,按照语句的可疑值从大到小依次检查,直到精确定位至所有故障语句为止。但这种故障定位方法由于“计算整个程序中所有语句的发生故障的可疑值,缺乏一定的语句筛选机制”和“忽略了程序中语句之间的存在的依赖关系”的原因导致故障定位效率和精度受限。为了解决上述问题,本文提出了一种基于多层次频谱的软件故障定位方法。这种方法的具体做法是将软件故障定位分为函数故障定位和语句故障定位两个层次,函数故障定位方法能生成函数故障报告,语句故障定位方法生成语句故障报告,依次检查可疑语句直至找到故障语句,进而实现故障定位。主要的工作有:1)在函数故障定位层次上首先使用“函数调用对”程序频谱集合来构造函数调用对成功行为图和失效行为图,然后对两个图的进行差异分析,计算函数发生故障的可疑值,最后依照可疑值从大到小依次排列程序中的函数,主动筛选“最有可能”发生故障的函数,生成函数故障定位报告。2)在语句故障定位层次上选择函数故障报告中可疑值高的函数,计算其函数体内的语句发生故障的可疑值。在此层次上考虑语句之间存在的数据依赖和控制依赖关系,通过语句的数据依赖发生故障的可疑值和语句的控制依赖发生故障的可疑值加权差值计算的方式来计算语句发生故障的可疑值,依照此可疑值从到大到小依次排列函数中的语句,生成语句故障报告,依次检查该故障报告中的语句直至找到所有故障语句为止,完成软件故障定位。3)设计了完整的实验实例和相应的测试用例,在此基础上对本文提出的方法进行验证。实验表明,本文提出的方法能缩小代码审查区域,相比于Tarantula方法和Ochiai方法,其定位效率更高。
其他文献
近年来随着互联网络技术的发展,人们对网络的需求也越来越多,这就自然而然暴漏出了现有IPv4网络的不足其中主要包括:IP地址数量不足通信安全性服务质量以及移动性等方面IPv6的出
随着医疗水平的发展,尤其是电子病历(Electronic Medical Record,EMR)系统在医疗机构的推广使用,使人们的健康得到一定水平的保障,但是随着医学信息的安全越来越多的出现在人们的
移动Ad Hoc网络,即一种特殊的自组织对等式多跳无线移动网络(MANETs)。20世纪90年代至今,随着无线网络技术及应用的普及,Ad Hoc网络借助其自身无中心自组织、多跳路由、动态拓扑
在计算机和网络技术快速发展的时代,生物特征识别技术日益被人们所重视。虹膜具有丰富且持久的纹理特征,相比其它生物特认证技术,虹膜识别技术的的稳定性、准确性更高,并且具
数字图随着计算机信息技术的发展,网络上的数字资源与日俱增,与此同时,人们面临的不是数字资源的缺少,而是如何在海量的数字资源中找到合适的资源。正因如此,研究者们根据这个需求
卷积神经网络(Convolutional Neural Network,CNN)是一种受Hubel-Wiesel生物视觉系统启发的多层变种感知机(Multi-Layer Perception,MLP),它无须改变图像的拓扑结构,能在训练
软件测试的目标是为了发现程序中潜在错误,其中的关键因素就是如何快速自动化的生成测试数据,传统的人工测试耗费大量人力物力,因此自动化测试技术越来越受到人们的重视。测试数
针对应用时间序列方法在处理数据不足、缺失和信息模糊性的问题,本文在Type-2模糊时间序列预测模型基础上,首先,将模糊聚类的算法引入Type-2模糊时间序列模型中,利用物以类聚的思
人脸识别是图像处理和计算机视觉领域的一项重要研究内容,其主要目的是通过匹配数据库来检测输入的测试人脸图像属于哪一类别。脸部识别率指的是正确识别出的脸部图像的比率。
随着高性能计算的发展,超级计算机在功率和能耗方面的不足正在逐步显露。目前超级计算机的系统功耗普遍在5000KW以上,而地球模拟器的峰值功耗则达到了12MW[1],即一天的耗电量可