基于故障上下文的轻量级软件错误定位方法研究
发布时间:2021-03-06 16:06
伴随着不断增长的软件复杂性及其普适性,程序员需要开发出高质量的软件产品。然而,软件开发人员在软件开发过程中不可避免地引入软件错误(Fault/Bug),从而可能导致软件在运行过程中产生失效(Failure)。定位与修复这些软件错误对于提高软件质量至关重要。在传统的手工软件错误定位过程中,软件开发人员需要充分理解程序的功能、语义、结构、实现以及相关失效的表征,定位效果大多依据开发人员的经验、直觉与运气。因此,受诸多因素影响,手工的软件错误定位困难、耗时,且代价昂贵。轻量级软件错误定位方法是一种自动化软件错误定位方法,主要是指利用软件测试过程中收集的程序实体覆盖信息以及测试结果实施错误定位的一类方法。该类方法通常不需要收集复杂程序语义信息,其定位代价小、扩展性好,是学术界研究的热点。然而,该类方法的定位准确性与结果的可理解性是影响该类方法现实可用的关键。本文主要围绕轻量级软件错误定位中的定位准确性和可理解性等问题,采用轻量级的方法予以解决。结合轻量级故障上下文信息,如故障触发上下文、程序频谱中故障执行上下文以进一步提高轻量级软件错误定位结果的准确性;通过构建两阶段错误定位,以及反映故障传播...
【文章来源】:南京航空航天大学江苏省 211工程院校
【文章页数】:101 页
【学位级别】:博士
【部分图文】:
语句覆盖矩阵和测试结果向量定义2.9控制流图:控制流图CFG(N,E),其中,N表示节点集合,节点对应程序实
图 2.7 实例源程序及其 CFG为逻辑产品,可以将软件定义为一个逻辑模型。逻辑测试主要是针对逻辑试。对于简单谓词测试覆盖准则,需要测试该谓词其取值为 True 与 Flase下,简单谓词测试准则等价于图覆盖的边覆盖准则。然而,对于逻辑复杂的的准则进行复杂谓词测试,如子句覆盖、MC/DC 覆盖准则等[88]。在这准则中,不但要求程序中的谓词具有可达性(R),而且要以某种特定的词的结果。也就是说,谓词测试中以相应的部分必须被感染(I)到。然究表明[90]:源代码中 88.5%的谓词是单子句谓词,9.5%的谓词包含两个词包含三个子句,仅仅 0.65%的谓词包含四个及以上的子句。当一个谓词定覆盖与条件覆盖是等价的。只有在安全关键软件(Safety-critical softwa多子句组合的谓词,对于该类谓词测试依然是一大挑战。级软件错误定位框架描述
基于故障上下文的轻量级软件错误定位方法研究CASE 1 和 CASE 2 都可以看作 RIPR - 模式,CASE 4 可以看作 RIPR - 模式。对于 C以将其划分为两组:一组属于 RIPR - ,另一组属于 RIPR - 。因此, RIPR - 可以错误程序实体存在于所有的失败程序谱中; RIPR - 可以定义为错误程序实体存在败的程序实体中。因此,如果程序员知道特定包含错误的程序属于哪一种故障触发以缩小错误程序实体的搜寻范围,其可以用于进一步精炼错误程序实体的排名列表
【参考文献】:
期刊论文
[1]基于条件概率模型的缺陷定位方法[J]. 舒挺,黄明献,丁佐华,王磊,夏劲松. 软件学报. 2018(06)
[2]基于混杂偏倚消除的谓词统计错误定位方法[J]. 王兴亚,姜淑娟,鞠小林,曹鹤玲. 计算机学报. 2017(12)
[3]基于切片谱的错误定位框架影响因素分析[J]. 鞠小林,姜淑娟,陈翔,张艳梅,邵浩然. 计算机研究与发展. 2014(12)
[4]基于程序频谱的动态缺陷定位方法研究[J]. 陈翔,鞠小林,文万志,顾庆. 软件学报. 2015(02)
[5]结合用例约简与联合依赖概率建模的错误定位[J]. 苏小红,龚丹丹,王甜甜,马培军. 软件学报. 2014(07)
[6]基于错误交互集的组合测试软件故障定位方法[J]. 王建峰,魏长安,盛云龙,姜守达. 电子学报. 2014(06)
[7]自动化软件错误定位技术研究进展[J]. 虞凯,林梦香. 计算机学报. 2011(08)
本文编号:3067394
【文章来源】:南京航空航天大学江苏省 211工程院校
【文章页数】:101 页
【学位级别】:博士
【部分图文】:
语句覆盖矩阵和测试结果向量定义2.9控制流图:控制流图CFG(N,E),其中,N表示节点集合,节点对应程序实
图 2.7 实例源程序及其 CFG为逻辑产品,可以将软件定义为一个逻辑模型。逻辑测试主要是针对逻辑试。对于简单谓词测试覆盖准则,需要测试该谓词其取值为 True 与 Flase下,简单谓词测试准则等价于图覆盖的边覆盖准则。然而,对于逻辑复杂的的准则进行复杂谓词测试,如子句覆盖、MC/DC 覆盖准则等[88]。在这准则中,不但要求程序中的谓词具有可达性(R),而且要以某种特定的词的结果。也就是说,谓词测试中以相应的部分必须被感染(I)到。然究表明[90]:源代码中 88.5%的谓词是单子句谓词,9.5%的谓词包含两个词包含三个子句,仅仅 0.65%的谓词包含四个及以上的子句。当一个谓词定覆盖与条件覆盖是等价的。只有在安全关键软件(Safety-critical softwa多子句组合的谓词,对于该类谓词测试依然是一大挑战。级软件错误定位框架描述
基于故障上下文的轻量级软件错误定位方法研究CASE 1 和 CASE 2 都可以看作 RIPR - 模式,CASE 4 可以看作 RIPR - 模式。对于 C以将其划分为两组:一组属于 RIPR - ,另一组属于 RIPR - 。因此, RIPR - 可以错误程序实体存在于所有的失败程序谱中; RIPR - 可以定义为错误程序实体存在败的程序实体中。因此,如果程序员知道特定包含错误的程序属于哪一种故障触发以缩小错误程序实体的搜寻范围,其可以用于进一步精炼错误程序实体的排名列表
【参考文献】:
期刊论文
[1]基于条件概率模型的缺陷定位方法[J]. 舒挺,黄明献,丁佐华,王磊,夏劲松. 软件学报. 2018(06)
[2]基于混杂偏倚消除的谓词统计错误定位方法[J]. 王兴亚,姜淑娟,鞠小林,曹鹤玲. 计算机学报. 2017(12)
[3]基于切片谱的错误定位框架影响因素分析[J]. 鞠小林,姜淑娟,陈翔,张艳梅,邵浩然. 计算机研究与发展. 2014(12)
[4]基于程序频谱的动态缺陷定位方法研究[J]. 陈翔,鞠小林,文万志,顾庆. 软件学报. 2015(02)
[5]结合用例约简与联合依赖概率建模的错误定位[J]. 苏小红,龚丹丹,王甜甜,马培军. 软件学报. 2014(07)
[6]基于错误交互集的组合测试软件故障定位方法[J]. 王建峰,魏长安,盛云龙,姜守达. 电子学报. 2014(06)
[7]自动化软件错误定位技术研究进展[J]. 虞凯,林梦香. 计算机学报. 2011(08)
本文编号:3067394
本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/3067394.html