论文部分内容阅读
随着计算机技术的发展和软件应用领域的扩大,软什系统的规模和复杂性不断攀升,软件存在缺陷和出现失效的可能性不断增加,其可靠性越米越难以保证。软件失效发生后,如何自动调试程序和定位引发失效的软件故障是一个非常有价值的研究课题。
本文通过学习总结国内外故障定位领域的文献资料及研究成果,针对目前定位技术中存在的一些不足,提出了基于执行轨迹谱(ETS)分段检测的软件故障定位方法。该方法在基于粒度计算的多层故障定位模型框架下,成功引入分治策略,利用ETS分段检测逐步缩减程序待测范围,最终定位故障。与其他故障定位方法相比,基于ETS分段检测的软件故障定位限制条件少,应用面广,故障定位效率高。经实验验证,该方法是行之有效的。
论文的主要工作及取得的成果可总结如下:
(1)介绍了软件故障定位问题的基本概念及国内外的研究现状,对软件的失效机理进行了详细分析,对故障定位相关的技术与基础进行了概括总结。
(2)为了解决故障定位中测试数据的自动生成问题,提高测试用例产生的针对性和效率,通过选用Gray编码、引入编辑距离调整适应度函数,对信息素进行全局修正等有效手段,对二元蚁群优化算法进行改进和完善。
(3)首次将粒度计算理论引入到故障定位领域中,利用不同粒度世界模型,创建了由上到下、由粗到细,逐层深入的故障定位模型。
(4)在基于粒度计算的多层故障定位模型框架下,引入分治策略,首次提出基于ETS分段检测的软件故障定位方法。同时,本文还提出一种新的故障可疑度函数,在基本块检测的最后阶段进行综合分析,从统计角度考虑待考察对象的受疑程度。基于ETS分段检测的软件故障定位方法在定位故障的过程中能有针对性地产生新的测试用例,克服了以往定位方法需要随机产生大量测试用例或者对测试用例要求极严的缺陷。同时该方法通过引入新的故障可疑度函数,有效地防止了以往故障定位方法中无法对最后的检测结果进行调整的问题,适应性和实用性更高。
(5)构建了基于执行轨迹谱分段检测的软件故障定位原型系统,为故障定位的实验及下一步研究提供有力支持。