基于执行切片的软件错误定位方法研究

来源 :浙江理工大学 | 被引量 : 0次 | 上传用户:jackyong63
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
软件系统规模的不断扩大和复杂度的日益增加,对软件调试技术提出了新的挑战。软件错误定位是调试技术的重要步骤。然而,手工实现错误定位存在效率低下的问题,因此自动化软件错误定位成为了学术界和工业界共同追求的目标。基于程序频谱的软件错误定位方法(Spectrum-Based Fault Localization,SFL)和基于程序不变量的软件错误定位方法(Invariant-Based Fault Localization,IFL)是两类具有代表性的方法。定位效率和精确性是评判方法优劣的重要指标。可疑度计算是SFL的关键,然而通过提出新可疑度计算公式的方式已经很难提高其定位效率。IFL则利用不变量的冲突信息来揭示错误位置,但是偶然性正确测试例的普遍存在严重制约了其提示错误位置的精度。执行切片是测试例覆盖程序代码的集合,根据测试例执行的结果可以分为失效执行切片和成功执行切片。当前的错误定位方法没有充分挖掘执行切片所具有的错误揭示能力。基于此,本文深入的研究了执行切片的错误定位效用,并定义了执行切片效用度量函数f。然后,基于对失效执行切片的效用度量,提出了一种基于失效执行切片的软件错误定位方法(Failed Execution Slice,FES),进一步提升SFL的错误定位效率。基于成功执行切片效用度量,提出了一种利于高精度程序不变量生成的测试例生成方法(Successful Execution Slice,SES)。最后,在实现上述算法的基础上,研发了错误定位实验原型系统,并实验验证了所提出方法的可行性和有效性。本文的主要工作可以归纳如下:(1)提出了效用度量函数f和基于失效执行切片的软件错误定位方法。选取了12个典型的可疑度计算公式,在包括Siemens、Space等11个测试套件上进行错误定位效率实验。实验结果表明相对于SFL,新方法在错误定位效率上能够平均提高30%。设计相关性实验,实验结果验证了效用度量函数的有效性。(2)提出了基于成功执行切片的测试例生成方法。在114个错误程序版本上进行实验。实验结果表明新方法能够大幅度降低似然程序不变量判定的假阴性,从而提高了程序不变量揭示错误的能力。(3)设计并实现了自动化错误定位实验原型系统。按照模块化设计思想,将系统分为配置模块、公共函数模块、功能实现模块和说明文档模块4个部分。实现从输入测试例到输出指定方法错误定位效率整个过程的自动化运行。
其他文献
通常,在实际的应用中,大型天线阵列具有较大的阵列孔径和较高的分辨率,但因其成本较高,往往采用稀疏阵列来降低建造成本的同时并保持其孔径不变和具有优良的旁瓣性能。由于天
目前,随着开源软件数量的飞速增长,使用开源软件的用户群体越来越大,开源软件涉及到的应用领域也在不断扩大,随之而来的软件安全问题也颇为引人注目。在开源软件安全隐患层出
近几年,随着智能设备短距离无线通信技术水平的提高,无线移动网络得到了飞速发展。与此同时,一种特殊的无线移动网络—容忍时延网络(Delay Tolerant Networks,DTNs)受到了学
随着GPS、传感器等基础技术的迅猛发展,空间数据的收集变得越来越简易、方便、迅速,同时如何进一步提高空间数据的使用效率为用户提供更加优质的服务显得尤为重要。在大数据
随着全球工业现代化的快速发展,陆地的矿产能源已经逐渐的消失殆尽,人类开始把注意力转向具有很大面积的海洋中,海洋矿产资源,尤其是石油资源的开采也由浅海转向深海。这就进
目前,我国已经成为全球最大的化肥生产国和消费国,但从实际情况看,我国化肥行业仍然存在着产业结构不合理、产能相对过剩、企业经营效益不高等方面的不足。中石油塔里木大化
在WTO体制下,尽管我国不断履行入世承诺,给予成员国最优惠的贸易政策,但整体而言,贸易保护的程度相对较高,我国总体上得益多于损失。而且,现阶段我国自贸协定的对象多为小型
本文基于点、线、面的空间几何基本要素,描述湖北省的经济节点、空间联系以及空间组织对湖北省的经济网络结构形成与演化进行分析。采用引力模型和社会网络分析法,分析湖北省
近些年,随着无线传感网络、群体机器人以及无人飞行器编队等问题的广泛应用,多智能体系统的协作控制问题已经成为了控制理论领域中的热点问题,其中系统的一致性是其基本问题
随着软件行业的快速发展,各行各业都已经离不开软件的支撑,软件的质量问题所引起的损失也越来越大。软件测试作为保障软件质量的一种必要的手段,在软件生命周期中的地位也越