论文部分内容阅读
软件发生失效时如何快速而准确的定位软件故障已经成为越来越受关注的话题。自动化的故障定位方法包括静态分析法、动态执行法、程序行为累积法以及试验分析法,这些方法有着独特的分析视角,同时也存在着相应的缺陷,因此当前主要由人凭借开发经验来判断软件故障发生的位置。本文的自动化软件故障定位方法是在前人研究的基础上开展的。该方法将程序的静态信息、当前的程序动态执行信息和历史行为累积信息相结合,并融合基于距离度量的故障定位方法和基于统计计算的故障定位方法对上述信息进行统计分析。该方法一方面通过构造系统DD图,计算无约束边,生成当前失效路径的相似路径集这一系列步骤提高路径间的相似性,进而利用路径对比,增大软件故障定位的准确率;另一方面基于距离度量的故障定位方法和基于统计计算的故障定位方法的结合既弥补了前者对于定位结果的不完备性和定位结果对测试用例集的依赖性,又弥补了后者对于定位过程不具备实时性。上述两种定位方法分别从不同的角度分析路径执行信息,计算语句的可疑度,并最终将可疑度值经过从高到低的排序后,以图形化的形式向用户展示定位结果,从而更友好地帮助用户排查软件故障。