面向MBFL的测试用例约减策略①
2021-01-21王海峰
计算机系统应用 2020年12期
杜 彬,贺 杰,王海峰,刘 勇
(北京化工大学 信息科学与技术学院,北京 100029)
1 引言
软件已经成为现代生活中的重要组成部分,并在医学、航天学和原子能等方面发挥着重要的作用.在软件的开发和维护中,软件调试是一项成本昂贵且复杂耗时的工作[1].软件调试包括软件检测、错误定位和错误修复[2].其中,错误定位旨在自动识别软件缺陷模块,是提高软件调试效率的最有效手段之一.
近年来,研究人员在软件自动化错误定位领域上花费巨大的精力,用于降低软件调试过程中人力财力的消耗[1,3].其中,基于频谱的错误定位方法是一种被广泛应用的错误定位方法[4,5].基于频谱的错误定位方法通过执行测试用例获得覆盖信息和执行结果信息来计算程序实体中含有错误的概率,然后依据概率大小生成怀疑度表来定位错误.但该方法未考虑程序控制流对程序的影响,并且未能处理偶然正确测试用例,使得错误定位的有效性受到影响.此外,基于频谱的错误定位方法依赖于测试用例在程序实体上的覆盖信息,所有同一基本块的语句会共享相同的覆盖信息,计算得到的排名也会相同,因此需要检查更多的程序实体才能检测到错误[6],导致其定位精度降低.为了解决上述问题,研究人员提出了基于变异的错误定位方法来协助错误定位.基于变异的错误定位方法是一种基于变异分析的方法[7],拥有较高的错误定位精度.依据对变异体的分析角度,基于变异的错误定位方法分为两种,Metallax-fl[8]和MUSE[9].Metallax-fl 采用变异分析的思想,将变异体视为被测程序的相似版本[8];……
登录APP查看全文
