CN111563044B - 一种基于程序变异的程序谱错误定位方法 - Google Patents

一种基于程序变异的程序谱错误定位方法 Download PDF

Info

Publication number
CN111563044B
CN111563044B CN202010390881.8A CN202010390881A CN111563044B CN 111563044 B CN111563044 B CN 111563044B CN 202010390881 A CN202010390881 A CN 202010390881A CN 111563044 B CN111563044 B CN 111563044B
Authority
CN
China
Prior art keywords
program
statement
error
test cases
variant
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010390881.8A
Other languages
English (en)
Other versions
CN111563044A (zh
Inventor
王曙燕
林敬
孙家泽
王小银
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xian University of Posts and Telecommunications
Original Assignee
Xian University of Posts and Telecommunications
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xian University of Posts and Telecommunications filed Critical Xian University of Posts and Telecommunications
Priority to CN202010390881.8A priority Critical patent/CN111563044B/zh
Publication of CN111563044A publication Critical patent/CN111563044A/zh
Application granted granted Critical
Publication of CN111563044B publication Critical patent/CN111563044B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

在软件测试技术领域,本发明针对现有错误定位方法效率低下的问题,公开了一种基于程序变异的程序谱错误定位方法。该方法包括:执行待测程序,选择程序中被失败测试用例覆盖的语句进行变异得到变异体,根据变异位置的不同对各语句生成的变异体进行约简;将原程序成功、失败测试用例的语句覆盖情况和变异体的测试用例执行情况代入语句怀疑度公式计算,按结果的大小排列得到检查语句优先级次序;依据语句优先级次序越靠前越优先被检查的原则,定位程序中错误出现的位置。本发明可以应用于Java程序经过成功初步测试后的错误定位,由实验结果可知,本发明可以实现程序的错误定位且错误定位的效率较高。

Description

一种基于程序变异的程序谱错误定位方法
技术领域
本发明属于软件测试技术领域,具体涉及到软件错误定位问题,提供了一种基于程序变异的程序谱错误定位方法,主要解决现有错误定位方法效率低的问题,达到提高错误定位效率的目的。
背景技术
随着国家“互联网+”战略的提出和信息产业的不断发展,各种软件产品己经融入到各行各业的生产活动和社会生活中,例如在国防工业、制造业、医疗卫生行业、教育产业以及服务产业,软件信息系统己经起到了举足轻重的作用。随着软件规模和复杂程度的不断提高,软件错误出现的频率也迅速上升。软件错误的出现可能会给人类造成巨大损失或灾难。因此,软件测试成为了软件生命周期中不可或缺的环节。软件错误定位是软件测试领域中需要解决的重要问题,旨在检测出软件存在的缺陷,就是在程序检测到错误的时候,通过分析程序的逻辑结果和测试用例的执行状态,帮助程序开发人员或测试人员找到发生错误的位置,对于软件错误定位方法的研究一直以来都是国内外研究的热点问题。
随着软件规模的日益增长,传统的软件错误定位方法不仅耗时耗力,也很难有效快捷地定位到程序的错误位置。由此,研究人员提出了许多高级的错误定位方法。软件错误定位方法主要是通过缩小错误搜索范围来提高错误定位效率。目前,针对软件错误定位问题研究人员提出过许多的错误定位方法,主要的方法包括,基于程序谱的方法、基于程序切片的方法、基于程序状态修改的方法、基于程序依赖分析的方法、基于机器学习的方法及基于数据挖掘的方法等。
由于操作简单且错误定位效果良好,基于程序谱的错误定位方法是最为被广泛使用的错误定位技术。Collofello和Cousins最先提出使用“程序谱”来定位程序中的错误。在早期的研究中,研究人员只使用失败的测试用例的覆盖信息来定位错误。但单单考虑失败测试用例的覆盖信息得到的错误语句精度远小于对失败和成功测试用例的综合结果,因此,现在大多数基于程序谱的错误定位方法都是收集成功和失败测试用例的语句覆盖信息,代入怀疑度公式计算出每条语句的怀疑度,如Tarantula公式、Ochiai公式以及Jaccard公式等,再由怀疑度列表得到每条语句的怀疑度排名,最后开发人员根据怀疑度排名找到程序错误语句。在使用这种方法的过程中,人们发现会存在程序中有错误但是测试用例的执行结果正确的现象,如果不能正确处理这种巧合正确性的测试用例,语句的怀疑度的定位精度将会受到影响,导致错误定位效率低下。
为此,本发明提出一种基于程序变异的程序谱错误定位方法以期提高软件错误定位的效率。程序变异是指对原程序中的语句使用变异算子(对程序进行变异操作的规则)得到变异体(变异后的程序)的过程。通过对原程序及变异体的测试用例执行情况综合分析,得到程序中各语句的错误怀疑度值以此确定语句检查的优先次序,定位错误出现的位置。
发明内容
本发明要解决的问题是:现有软件错误定位方法效率较低,难以满足降低测试成本的需求,需要一种新的软件错误定位方法,有效的提高软件错误定位的效率。
本发明的设计思想是:基于程序谱的错误定位方法,存在两个问题,一是受偶然正确性测试用例对错误定位精度的影响,二是受多条语句的错误怀疑度值相同对错误定位效率的影响,导致这两个问题的主要原因是怀疑度值计算方法完全依赖于成功和失败测试用例的语句覆盖信息,解决办法是减少对其依赖,结合其他与程序中错误存在相关的因素来计算语句怀疑度值。变异程序中正确的语句,更有可能得到错误的程序,导致更多的测试用例由执行正确变为执行错误;变异程序中错误的语句,更有可能得到正确的程序,导致更多的测试用例由执行错误变为执行正确。因此,本发明选择程序变异后测试用例执行结果的变化情况作为与程序中错误存在相关的因素。
程序在使用变异算子后会得到大量的变异体,为减少错误定位过程中的执行代价,需要解决变异体约简策略的问题。笔者在实验中发现了一种现象,同一语句相同变异位置的大部分不同变异体的测试用例执行结果变化情况大致相同,变化情况有三种,一是仅含由成功变为失败的测试用例,二是既有由成功变为失败的测试用例也有由失败变为成功的测试用例,三是仅含由失败变为成功的测试用例。可以这样理解此现象,同一语句相同变异位置的变异体,它们都是通过对这一位置相关的程序语句的影响来对最终测试用例执行结果产生影响的,相比于其他变异位置的变异体具有一定的相似性。例如对于语句“if((n>i)||(x>y))”,假设(n>i)为假,(x>y)为真,则(n>i)||(x>y)为真。若使用替换关系运算符的不同变异算子且变异位置在n与i之间,此时这些变异体仅能通过对(n>i)结果的改变而影响整个程序的运行结果,在(x>y)为真的前提下,无论“(n>i)”变异为“(n<i)”还是变异为“(n==i)”或是其他情况,都不会改变这整条语句的运行结果,所以在n与i之间这个位置变异的不同变异后的语句对最终测试用例执行结果的影响是相似的。若是使用替换关系运算符的不同变异算子且变异位置在x与y之间,对于整个程序运行结果的影响就是另外一种情形了。因此,可以将同一语句相同变异位置的不同变异体归为一类,以此来约简变异体。
本发明的技术方案为:一种基于程序变异的程序谱错误定位方法,如图1,首先执行待测程序,选择程序中被失败测试用例覆盖的语句进行变异得到变异体,根据变异位置的不同对各语句生成的变异体进行约简;其次将原程序成功、失败测试用例的语句覆盖情况和变异体的测试用例执行情况代入语句怀疑度公式计算,按结果的大小排列得到检查语句优先级次序;最后依据语句优先级次序越靠前越优先被检查的原则定位错误出现的位置。该方法可应用于java程序经过成功初步测试后的错误定位。
本发明的特征在于包括以下步骤:
(1)待测程序P中包含一个或多个错误且可执行,在程序P上执行测试用例集N,N={n1,n2,...,ni},i>1,根据各测试用例的执行结果是否与预期结果一致将测试用例集N分成Np和Nf两个集合,Np为执行成功(与预期结果一致)的测试用例集,Nf为执行失败的测试用例集;
(2)待测程序P中所有的程序语句组成语句集合E,E={e1,e2,...,en},n≥1,ei表示P中的第i条语句,使用JaCoCo覆盖率工具获取程序P在执行过程中的语句覆盖信息,Nf在程序执行过程中所覆盖的语句集合记为Ef,E中其他被执行的语句集合记为Ep,统计Ef中各语句被执行成功的测试用例执行的个数和被执行失败的测试用例执行的个数;
(3)使用变异测试工具Mujava对Ef中的语句进行变异得到变异体;
(4)根据变异位置的不同在各语句对应的变异体集合中随机选取10%个的变异体,若集合中变异体数目的10%不是整数,按进一法取整,以此减少每条语句产生的变异体数目,实现变异体的约简;
(5)获取约简后各变异体的执行结果,分别与原程序的运行结果和预期的运行结果作对比,统计各语句所对应变异体的运行结果与原程序运行结果不同且与预期运行结果相同的测试用例总数,统计各语句所对应的变异体的运行结果与原程序运行结果不同且原程序运行结果与预期运行结果相同的测试用例总数;
(6)将步骤(2)和步骤(5)中统计的数据代入公式OM中来计算每条语句存在错误的可能性,语句怀疑度计算公式:
Figure BDA0002485535640000031
其中,nef表示执行了语句i且执行失败的测试用例数,nf表示执行失败测试用例的总数,nep执行了语句i且执行成功的测试用例数,fp表示语句i所对应的变异体的运行结果与原程序运行结果不同且与预期运行结果相同的测试用例总数,pf表示语句i所对应的变异体的运行结果与原程序运行结果不同且原程序运行结果与预期运行结果相同的测试用例总数,n表示测试用例集N中的测试用例个数,m表示语句i所对应的约简后的变异体个数;
(7)将步骤(6)中得到的各语句怀疑度值按降序对语句排列,得到检查错误语句的优先次序列表,实现错误语句的定位。
本发明的有益效果:
基于程序变异的程序谱错误定位方法,通过将原待测程序执行成功及失败测试用例的语句覆盖情况和变异体的测试用例执行情况综合分析,可以有效降低巧合正确性测试用例对错误定位精度的影响,减少多条语句的错误怀疑度值相同对错误定位效率的影响,降低错误定位代价,提高软件错误定位的效率。
下面将通过典型实例的实验结果说明该方法的有效性:
(1)实验对象
测试程序选用四个轻量级Java程序作为基准,其基本信息如表1所示,其中第1-4列分别为程序名称、功能描述、含错语句数(每条语句只含一处错误)和代码行数。
表1测试程序描述
实验程序名称 功能描述 含错语句数 代码行数
Median 中间值 1 20
Triangle 三角形判断 1 28
WordUtils 大小写转换 2 129
NextDay 日期问题 3 64
(2)评估标准
本发明的目标是有效的提高软件错误定位的效率,因此,最终将通过错误定位效率的高低来评价本发明所提方法的有效性。对比实验选取经典的Tarantula、Jarcard、Op2和Ochiai这4种计算怀疑度方法(计算公式如1-4所列)作为对比。
公式1
Figure BDA0002485535640000041
公式2
Figure BDA0002485535640000042
公式3
Figure BDA0002485535640000043
公式4
Figure BDA0002485535640000044
使用Score评价指标来评估错误定位方法的优劣,Score使用怀疑度表中的语句顺序(由大到小)衡量顺序检查语句至定位实际错误语句的人工开销,其计算公式如下:
Figure BDA0002485535640000045
其中,R表示找全实际出错语句时所检查的语句数,T表示可执行语句的总数,Score数值越小,错误定位代价越小,错误定位效率越高。
(3)实验实施
基于Java实现整个错误定位方法的过程,首先,获取待测程序被执行失败测试用例所覆盖的语句集,对这些语句使用变异算子得到变异体,然后,根据变异位置的不同,随机选择10%(不是整数的按进一法近似为整数)个变异体,执行约简后的变异体程序,最后,通过将原待测程序执行成功及失败测试用例的语句覆盖情况和变异体的测试用例执行情况代入公式OM中,计算语句怀疑度,得到检查错误语句的优先次序列表,若存在怀疑度值相同的情况,按原程序中的语句前后顺序排序。
(4)结果分析
在使用相同测试用例集的情况下,Tarantula、Jarcard、Op2和Ochiai这4种软件错误定位方法与本发明的Score值对比如图2所示。对于实验的四个程序来说,Tarantula、Jarcard、Op2、Ochiai这四种错误定位方法的平均错误定位代价分别为20.66%、17.94%、17.05%、16.66%,本发明的平均错误定位代价为5.27%,即本发明的错误定位效率优于其他四种方法,证实了本发明所提方法的可行性和有效性。
附图说明
图1为本发明的流程框架图。
图2为其他软件错误定位方法与本发明的Score值对比图。
图3为本发明的示例程序代码图。
具体实施方式
以图3的实例程序为例,说明本发明的具体实施过程。
如图1,本发明使用基于程序变异的程序谱错误定位方法,其具体步骤如下:
(1)如图3所示的待测程序Triangle中包含一个错误且可该程序执行,在该程序上执行包含12个测试用例的测试用例集N,N={n1,n2,...,n12},根据各测试用例的执行结果是否与预期结果一致将测试用例集N分成Np和Nf两个集合,Np为执行成功的测试用例集,Np={n1,n2,n3,n4,n5,n6,n8,n10,n11,n12},Nf为执行失败的测试用例集,Nf={n7,n9}。
(2)使用JaCoCo覆盖率工具获取步骤(1)中待测程序Triangle在执行过程中的语句覆盖信息,Nf在程序执行过程中所覆盖的语句集合记为Ef,Ef={e5,e6,e7,e8,e10,e11,e12,e13,e16,e20,e26},Ef中各语句被执行成功的测试用例执行的个数分别为{10,10,10,10,10,10,7,5,4,2,10}(对应Ef中语句的顺序),Ef中各语句被执行失败的测试用例执行的个数分别为{2,2,2,2,2,2,2,1,1,1,2}(对应Ef中语句的顺序),其他被执行的语句集合记为Ep
(3)使用变异测试工具Mujava对Ef中可变异的语句进行变异得到变异体,可变异语句的行号如表2第1列所示,对该语句使用的变异算子如表2第2列所示,产生的变异体总数如表2的第3列所示。
(4)根据变异位置的不同在各语句对应的变异体集合中随机选取10%的变异体,若集合中变异体个数的10%不是整数,按进一法取整,以此减少每条语句产生的变异体个数,各语句对应所产生变异体约简后的个数如表2第4列所示。
(5)获取约简后各变异体的执行结果,分别与原程序的运行结果和预期的运行结果作对比,各语句所对应的变异体的运行结果与原程序运行结果不同且与预期运行结果相同的测试用例总数如表2第6列所示,各语句所对应的变异体的运行结果与原程序运行结果不同且原程序运行结果与预期运行结果相同的测试用例总数如表2第5列所示;
表2可变异语句的变异体信息
语句号 可用变异算子 M RM P->F F->P
6 AOIS AOIU LOI SDL 7 3 13 1
7 AOIS AOIU LOI SDL 7 3 18 2
8 AOIS AOIU LOI SDL 7 3 14 0
11 AOIS AROB COI COR LOI ODL ROR VDL SDL 98 19 36 8
12 AOIS COI COR LOI ODL ROR 64 12 22 0
13 AOIS COI COR LOI ODL ROR 41 7 10 0
16 SDL 1 1 4 0
20 SDL 1 1 3 0
26 SDL 1 1 10 0
(6)将步骤(2)和步骤(5)中统计的数据代入公式OM中来计算每条语句存在错误的可能性。表3统计了使用本发明方法与Tarantula、Jarcard、Op2和Ochiai这4种错误定位方法每条语句的错误怀疑度值(未被失败测试用例覆盖的语句默认怀疑度值为0,未在表中列出)。
表3语句的错误怀疑度值统计表
语句 Tarantula Jaccard Op2 Ochiai 本发明
5 0.5 0.17 1.09 0.41 0.41
6 0.5 0.17 1.09 0.41 0.31
7 0.5 0.17 1.09 0.41 0.42
8 0.5 0.17 1.09 0.41 0.03
10 0.5 0.17 1.09 0.41 0.41
11 0.5 0.17 1.09 0.41 0.65
12 0.59 0.22 1.36 0.47 0.32
13 0.5 0.14 0.55 0.29 0.17
16 0.56 0.17 0.64 0.32 0.01
20 0.71 0.25 0.81 0.41 0.18
26 0.5 0.17 1.09 0.41 -0.36
(7)将步骤(6)中得到的各语句怀疑度值按降序对语句排列(怀疑度值相同的按语句行号的先后顺序排列),本发明得到检查错误语句的优先次序为11,7,5,10,12,6,20,13,8,16,26,在图3中可以看出程序中真实错误所在处的语句行号为11,是第一个要被检查的语句,因此本发明的Score值为1/28=3.57%。表4为本发明与其他几种方法的Score值对比结果图,可以看出本发明的错误定位效率明显优于其他四种方法。
表4 Score值对比结果图
方法 Tarantula Jaccard Op2 Ochiai 本发明
R 9 8 7 7 1
T 28 28 28 28 28
Score 32.14% 28.57% 25.00% 25.00% 3.57%
综上所示,本发明提出的基于程序变异的程序谱错误定位方法可以有效定位程序中出现错误的位置,并且错误定位效率较高。

Claims (2)

1.一种基于程序变异的程序谱错误定位方法,其特征在于包括以下步骤:
(1)待测程序P中包含一个或多个错误且可执行,在程序P上执行测试用例集N,N={n1,n2,...,ni},i>1,根据各测试用例的执行结果是否与预期结果一致将测试用例集N分成Np和Nf两个集合,Nf为与预期结果不一致执行失败的测试用例集,Np为执行成功的测试用例集;
(2)使用JaCoCo覆盖率工具获取步骤(1)中程序P在执行过程中的语句覆盖信息,Nf在程序执行过程中所覆盖的语句集合记为Ef,Ef={e1,e2,...,en},n≥1,ei表示Ef中第i条语句,其他被执行的语句集合记为Ep,统计Ef中各语句被执行成功的测试用例执行的测试用例个数和被执行失败的测试用例执行的个数;
(3)使用变异测试工具Mujava对Ef中的语句进行变异得到变异体;
(4)根据变异位置的不同在各语句对应的变异体集合中随机选取10%个的变异体,若集合中变异体数目的10%不是整数,按进一法取整,以此减少每条语句产生的变异体数目,实现变异体的约简;
(5)获取约简后各变异体的执行结果,分别与原程序的运行结果和预期的运行结果作对比,统计各语句所对应的变异体的运行结果与原程序运行结果不同且与预期运行结果相同的测试用例数,各语句所对应的变异体的运行结果与原程序运行结果不同且原程序运行结果与预期运行结果相同的测试用例数;
(6)将步骤(2)和步骤(5)中统计的数据代入公式OM中来计算每条语句存在错误的可能性,语句怀疑度计算公式:
Figure FDA0002485535630000011
其中,nef表示执行了语句i且执行失败的测试用例数,nf表示执行失败测试用例的总数,nep执行了语句i且执行成功的测试用例数,fp表示语句i所对应的变异体的运行结果与原程序运行结果不同且与预期运行结果相同的测试用例数,pf表示语句i所对应的变异体的运行结果与原程序运行结果不同且原程序运行结果与预期运行结果相同的测试用例数,n表示测试用例集N中的测试用例数,m表示语句i所产生的变异体数;
(7)根据步骤(6)中得到的各语句怀疑度值按降序将各语句排列,得到检查错误语句的优先次序列表,实现真实错误语句的定位。
2.根据权利要求1所述的基于程序变异的程序谱错误定位方法,其特征在于:该方法可以应用于Java程序经过成功初步测试后的错误定位。
CN202010390881.8A 2020-05-11 2020-05-11 一种基于程序变异的程序谱错误定位方法 Active CN111563044B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010390881.8A CN111563044B (zh) 2020-05-11 2020-05-11 一种基于程序变异的程序谱错误定位方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010390881.8A CN111563044B (zh) 2020-05-11 2020-05-11 一种基于程序变异的程序谱错误定位方法

Publications (2)

Publication Number Publication Date
CN111563044A CN111563044A (zh) 2020-08-21
CN111563044B true CN111563044B (zh) 2022-10-25

Family

ID=72074671

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010390881.8A Active CN111563044B (zh) 2020-05-11 2020-05-11 一种基于程序变异的程序谱错误定位方法

Country Status (1)

Country Link
CN (1) CN111563044B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112699053B (zh) * 2020-08-03 2022-02-22 徐州工程学院 一种融入模糊聚类的软件测试方法
CN112764784B (zh) * 2021-02-03 2022-10-11 河南工业大学 基于神经机器翻译的软件缺陷自动修复方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103019943A (zh) * 2013-01-04 2013-04-03 北京航空航天大学 一种面向失败测试用例稀少情况的软件错误定位方法
CN105893256A (zh) * 2016-03-30 2016-08-24 西北工业大学 基于机器学习算法的软件故障定位方法
CN106886490A (zh) * 2016-12-30 2017-06-23 浙江理工大学 一种基于失效轨迹的程序错误定位方法
CN106951372A (zh) * 2017-04-05 2017-07-14 西安邮电大学 一种基于变量切片和关联规则的软件错误定位方法
CN109144882A (zh) * 2018-09-19 2019-01-04 哈尔滨工业大学 一种基于程序不变量的软件故障定位方法及装置
CN110515826A (zh) * 2019-07-03 2019-11-29 杭州电子科技大学 一种基于次数频谱与神经网络算法的软件缺陷定位方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10452526B2 (en) * 2017-06-15 2019-10-22 Microsoft Technology Licensing, Llc Machine learning for constrained mutation-based fuzz testing
CN108519944B (zh) * 2018-03-07 2019-04-05 北京航空航天大学 一种基于噪声共振的软件加速测试技术的构建方法
US10642726B2 (en) * 2018-08-31 2020-05-05 Devfactory Fz-Llc Method, apparatus, and system for blaming a test case/class for a survived mutation

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103019943A (zh) * 2013-01-04 2013-04-03 北京航空航天大学 一种面向失败测试用例稀少情况的软件错误定位方法
CN105893256A (zh) * 2016-03-30 2016-08-24 西北工业大学 基于机器学习算法的软件故障定位方法
CN106886490A (zh) * 2016-12-30 2017-06-23 浙江理工大学 一种基于失效轨迹的程序错误定位方法
CN106951372A (zh) * 2017-04-05 2017-07-14 西安邮电大学 一种基于变量切片和关联规则的软件错误定位方法
CN109144882A (zh) * 2018-09-19 2019-01-04 哈尔滨工业大学 一种基于程序不变量的软件故障定位方法及装置
CN110515826A (zh) * 2019-07-03 2019-11-29 杭州电子科技大学 一种基于次数频谱与神经网络算法的软件缺陷定位方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
一种基于程序变异的软件错误定位技术;贺韬等;《计算机学报》;20131115(第11期);全文 *
基于改良程序谱的软件故障定位方法;余晓菲等;《计算机工程与科学》;20180215(第02期);全文 *

Also Published As

Publication number Publication date
CN111563044A (zh) 2020-08-21

Similar Documents

Publication Publication Date Title
Wong et al. A crosstab-based statistical method for effective fault localization
CN111563044B (zh) 一种基于程序变异的程序谱错误定位方法
Lozano et al. Assessing the effect of clones on changeability
Delamaro et al. Designing deletion mutation operators
CN106951372B (zh) 一种基于变量切片和关联规则的软件错误定位方法
KR102282382B1 (ko) 소프트웨어의 신뢰성 시험 시스템 및 시험 방법
CN110515826A (zh) 一种基于次数频谱与神经网络算法的软件缺陷定位方法
Neelofar et al. Improving spectral‐based fault localization using static analysis
Liu et al. A weighted fuzzy classification approach to identify and manipulate coincidental correct test cases for fault localization
Liu et al. Statement-oriented mutant reduction strategy for mutation based fault localization
Li et al. Identify coincidental correct test cases based on fuzzy classification
CN104317707A (zh) 一种基于程序结构影响感知的软件错误定位方法
JP6419667B2 (ja) テストdbデータ生成方法及び装置
Vancsics et al. Simulating the effect of test flakiness on fault localization effectiveness
Zhang et al. CBUA: A probabilistic, predictive, and practical approach for evaluating test suite effectiveness
CN103019943B (zh) 一种面向失败测试用例稀少情况的软件错误定位方法
Kim et al. Empirical evaluation of existing algorithms of spectrum based fault localization
CN112463636B (zh) 一种测试用例排序管理方法及系统
Beller et al. The last line effect
Wang et al. Cost-effective testing based fault localization with distance based test-suite reduction
Tang et al. Extending the theoretical fault localization effectiveness hierarchy with empirical results at different code abstraction levels
CN107102942B (zh) 一种基于输入域错误定位的极小故障定位方法
Szatmári et al. Do bug-fix types affect spectrum-based fault localization algorithms' efficiency?
Esposito et al. Uncovering the Hidden Risks: The Importance of Predicting Bugginess in Untouched Methods
Li et al. IRBFL: an information retrieval based fault localization approach

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant