CN104536882A - 基于频繁子图挖掘的错误定位方法 - Google Patents
基于频繁子图挖掘的错误定位方法 Download PDFInfo
- Publication number
- CN104536882A CN104536882A CN201410713577.7A CN201410713577A CN104536882A CN 104536882 A CN104536882 A CN 104536882A CN 201410713577 A CN201410713577 A CN 201410713577A CN 104536882 A CN104536882 A CN 104536882A
- Authority
- CN
- China
- Prior art keywords
- subgraph
- sequence chart
- test case
- program
- execution sequence
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 62
- 238000005065 mining Methods 0.000 title claims abstract description 54
- 238000012360 testing method Methods 0.000 claims description 89
- 238000001228 spectrum Methods 0.000 claims description 10
- 238000013138 pruning Methods 0.000 claims description 9
- 238000005516 engineering process Methods 0.000 description 13
- 230000004807 localization Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000002474 experimental method Methods 0.000 description 3
- 238000013480 data collection Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000009412 basement excavation Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000013522 software testing Methods 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
基于频繁子图挖掘的错误定位方法,将程序的所有实体共同作为一个整体,通过图挖掘方法获取失败用例执行中的特征模式,进而实现更加准确且包含运行时上下文的自动化错误定位结果。本发明方法是一种区分性子图挖掘方法,以频繁子图挖掘为基础框架,基于信息增益方法计算子图的可疑度,通过优化的频繁子图挖掘方法获取失败用例和成功用例执行中的特征模式,进而实现更加准确且包含运行时上下文的自动化错误定位结果。本发明可以获得子图可疑度的排序,进而提供给测试人员可疑度最高的K个子图,从而提高了开发人员定位错误的准确性和效率。
Description
技术领域
本发明属于计算机技术领域,涉及软件测试技术,其是软件测试中自动化测试技术领域,为一种基于频繁子图挖掘的错误定位方法。
背景技术
自动化错误定位技术主要基于对程序源文件、覆盖信息、执行序列信息、测试结果进行分析,它能够有效辅助开发人员快速定位程序出错位置,提高调试效率。
自动化错误定位技术经过多年在学术界的发展,已经出现了多种不同类别的错误定位技术。该方法主要涉及基于程序动态执行的错误定位技术,该种类型的定位技术主要结合程序执行信息、测试用例执行信息已经以及一部分源程序分析结果,给出程序中可能出错的位置的排序。传统的自动化错误定位技术使用统计方法计算单个程序实体(语句、分支、语句块、方法等)为程序错误的可疑度,进而按照程序实体可疑度由高到低的顺序排序,提供给开发人员或者测试人员作为排查程序错误的优先顺序。
传统的自动化错误定位技术中最主要的一类技术被称为基于程序频谱的错误定位技术。频谱信息,当被插桩的程序执行包含成功测试用例和失败测试用例的用例池时,每个程序实体分别被成功(或失败)测试用例执行到(或未执行到)的次数。以频谱信息为基础,一系列的排序度量被提出用以计算每个程序实体的可疑度,进而排序筛选出可疑度较高的程序实体。一般来说,一个程序实体被失败的测试用例执行的次数越多,被成功的测试用例执行的次数越少,此程序实体为程序失败的可能性越高。
图挖掘程序错误定位方法结合机器学习领域已有技术,将最新的机器学习方法应用于错误定位领域,将程序的所有实体共同作为一个整体,通过图挖掘方法获取失败用例执行中的特征模式,进而实现更加准确且包含运行时上下文的自动化错误定位结果。
发明内容
本发明要解决的问题是:在现有自动化错误定位技术上,结合图挖掘程序错误定位方法,提出一种以频繁子图挖掘方法为基础框架的区分性子图挖掘方法,以更准确得定位程序中的错误。
本发明的技术方案为:基于频繁子图挖掘的错误定位方法,将程序的所有实体共同作为一个整体,通过图挖掘方法获取失败测试用例执行中的特征模式,进而实现更加准确且包含运行时上下文的自动化错误定位结果,包括以下步骤:
1)对程序执行频谱进行建模,基于测试用例对程序实体的执行顺序,构建出各测试用例的执行序列图,得到执行序列图集合;
2)根据执行序列图中每个边在所有测试用例的执行序列图中的比例,对执行序列图进行剪枝,移除可疑度较小的边,以提升后续挖掘算法的效率和精度;对剪枝后得到的测试用例的执行序列图集合,使用区分性子图挖掘方法,首先通过频繁子图挖掘算法从失败的测试用例的执行序列图中挖掘出频繁子图,再通过频繁子图的熵值从中确定出对成功和失败的测试用例执行序列图最有区分性的子图,也即最有可能导致程序行为失败的执行模式,由此定位程序中最可能导致测试用例失败的位置。
步骤1)对程序执行频谱的建模为:首先对程序插桩,记录程序运行时程序实体的执行顺序信息,执行测试用例池中的成功/失败的测试用例,基于测试用例执行时的程序实体的顺序,构建出成功/失败测试用例的执行序列图集合;最后采用最小深度优先算法来唯一标示一个执行序列图,完成程序执行频谱建模,为下一步处理做准备。
步骤2)所述区分性子图挖掘方法为:对于一个包含了执行成功和执行失败的测试用例的测试用例池,测试用例池的熵值Hc取决于池中成功的测试用例所占的比例pSuccess以及失败测试用例所占比例pFail,如公式(1)所示:
Hc=-pSuccess*log(pSuccess)-pFail*log(pFail) (1)
设子图g为所有失败的测试用例执行序列图中挖掘出的频繁子图之一,首先依据测试用例是否包含子图g将所有执行序列图分为两类:包含子图g的执行序列图的集合S1,以及不包含子图g的执行序列图的集合S2;然后依据公式(1),根据S1和S2中包含的成功/失败测试用例的比例分别计算出S1和S2的熵值Hg1和Hg2,再根据S1的元素个数占所有测试用例池规模的比例pS1、S2的元素个数占所有用例池规模比例pS2加权,求出依据子图g划分下的测试用例池的的熵值Hg,如公式(2):
Hg=pS1*Hg1+pS2*Hg2 (2)
子图g在所有测试用例执行序列图上的划分的信息增益IG如下所示:
IG=Hc–Hg
区分性越强的频繁子图具有越高的信息增益,信息增益越高的子图在程序中的错误执行模式的可疑度越高,在枚举频繁子图的过程中计算信息增益并排列可疑度最高的K个频繁子图,提供给软件开发者和测试者错误定位使用。
本发明方法是一种区分性子图挖掘方法,以频繁子图挖掘为基础框架,基于信息增益方法计算子图的可疑度,通过优化的频繁子图挖掘方法获取失败用例和成功用例执行中的特征模式,进而实现更加准确且包含运行时上下文的自动化错误定位结果。
本发明的有益效果是:改进原频繁子图挖掘算法,原频繁子图挖掘方法定位错误比较粗糙,仅能输出可疑的程序实体,不能对其进行排序,本发明改进后的区分性子图挖掘方法可以获得子图可疑度的排序,进而提供给测试人员可疑度最高的K个子图,从而提高了开发人员定位错误的准确性和效率。
附图说明
图1为本发明的执行流程图。
图2为本发明实施实例的每个测试用例执行的执行序列图,(a)(b)为成功的测试用例,(c)(d)为失败的测试用例。
图3为对应图2的剪枝之后的执行序列图,(a)(b)为成功的测试用例,(c)(d)为失败的测试用例。
图4为本发明实施例中,A程序的F-Measure。
图5为本发明实施例中,B程序的F-Measure。
图6为本发明实施例中,C程序的F-Measure。
具体实施方式
本发明对成功及失败的测试用例执行序列图集合进行图挖掘,以找到最能区分成功失败测试用例的子图,进而定位错误。
本发明方法以频繁子图挖掘算法为框架,先实现频繁子图挖掘算法,再在其上进行优化,通过在频繁子图挖掘算法基础上加入对成功执行测试用例的分析,比较成功失败测试用例执行图集合,找出最有可能有错误的子图。本发明方法的具体执行流程图见图1。图1中oracle类似程序断言,可以标识程序的是pass还是fail。
基于一个测试用例的程序实体的执行顺序,可以构建出测试用例执行的程序实体的执行序列图,本发明由此得到各测试用例的执行序列图,也即图1中的调用序列图。具体为:首先对程序插桩,记录程序运行时程序实体的执行顺序信息,执行测试用例池中的成功/失败的测试用例,基于测试用例执行时的程序实体的顺序,构建出成功/失败测试用例的执行序列图集合;最后采用最小深度优先算法来唯一标示一个执行序列图,完成程序执行频谱建模,为下一步处理做准备。
频繁子图挖掘算法将所有支持度大于某个值的子图全部加入结果集合,但其并没有使用到相应的成功的测试用例的图信息,以频繁子图挖掘为基础框架,我们实现了区分性子图挖掘方法。区分性子图挖掘方法的最终目标是在失败的频繁子图的范围内找寻最能区分失败的测试用例图数据集和成功的测试用例图数据集的子图,这些子图被认为是最有可能导致程序失败的原因。
为了定义一个子图的区分性,本发明使用了信息学中熵(entropy)的概念。熵通常被用来度量信息的无序度或多样性。一个集合中元素取值的无序度或多样性越高,通常也就具有越高的熵值。
对于一个包含了执行成功和执行失败的测试用例的测试用例池来说,池中的元素具有成功和失败两种不同的取值,而这个集合的熵值Hc取决于池中成功的用例所占的比例pSuccess以及失败用例所占比例pFail,具体计算方法如下所示:
Hc=-pSuccess*log(pSuccess)-pFail*log(pFail) (1)
每个测试用例都有一个程序执行序列图,设子图g为所有失败的测试用例执行序列图中挖掘出的频繁子图之一。为了度量子图g对测试用例池中成功和失败两类用例的区分能力,这里首先依据测试用例是否包含子图g将所有执行序列图分为两类:包含子图g的执行序列图的集合S1,以及不包含子图g的执行序列图的集合S2。然后根据S1和S2中包含的成功/失败测试用例的比例分别计算出S1和S2的熵值Hg1和Hg2,再根据S1的元素个数占所有测试用例池规模的比例pS1、S2的元素个数占所有用例池规模比例pS2加权,求出依据子图g划分下的测试用例池的熵值:
Hg=pS1*Hg1+pS2*Hg2 (2)
最终,Hc和Hg二者的差异即为子图g在所有用例执行序列图上的划分的信息增益IG(information gain),计算方法如下所示。
IG=Hc–Hg
由上面的分析可知,子图g对成功和失败的用例的划分越精确,则划分之后的集合的熵值Hg越小。所以区分性更强的子图倾向于具有更高的信息增益。因此信息增益越大的子图,在程序中的错误执行模式的可疑度越高。本发明使用此度量方法,在枚举频繁子图的过程中计算并排列可疑度最高的K个子图提供给软件开发者和测试者错误定位使用。
下面的伪代码算法给出了在频繁子图挖掘算法框架基础上的改进以完成最可疑的子图挖掘:
在本发明上述算法中,每个被确认为频繁子图的子图不是简单地插入结果集合,而是使用一个子过程insertIntoTopK(s,S)来度量此频繁子图的可疑度,进而确定对前K个最可疑的子图列表的添加、删除等操作。
对频繁子图进行筛选,更新前K个最可疑的频繁子图的伪代码如下所示:
总体来讲,此流程根据每个频繁子图的可疑度由高到低进行排序。由于可能存在某些子图与新增候选的频繁子图可疑值相同并且互为父子图的关系。如果存在两个可疑度相同的子图g1和g2,而g1包含了g2,那么仅需要在排序中保留g2,因为它提供了更为精准的错误位置和上下文信息,而g1将被从结果中移除。上面的排序流程伪代码对此类父子图关系的频繁图进行了筛选,并且在算法最后移除过多的元素,以防列表长度超出最大容量。
下面用一个具体的实施例说明本方法的步骤,直观展示本发明的动机和效果,我们构造如下被测程序片段作为示例。下面的程序片段将返回数组arr中第一次出现target1或者target2的下标。但是程序第6行和第10行分别包含一个bug:程序本应该在第5行或者第9行出跳出循环。这样,当程序在同时执行到第5行和第9行时会产生失败结果。
假设我们拥有以下测试数据(表1),表格中列出了每个用例的参数列表,以及每个用例在此程序片段上执行的结果:成功还是失败。
表1
编号 | arr | target1 | target2 | 结果 |
1 | {1,2} | 1 | 3 | 成功 |
2 | {1,2} | 2 | 3 | 成功 |
3 | {1,2} | 1 | 2 | 失败 |
4 | {1,2} | 2 | 1 | 失败 |
对每个用例,得到测试用例语句执行序列,如表2。
表2
编号 | 语句执行序列 | 结果 |
1 | {1,2,3,4,5,7,8,11,12,3,4,7,8,11,12,3,13} | 成功 |
2 | {1,2,3,4,7,8,9,11,12,3,4,7,8,11,12,3,13} | 成功 |
3 | {1,2,3,4,5,7,8,11,12,3,4,7,8,9,11,12,3,13} | 失败 |
4 | {1,2,3,4,7,8,9,11,12,3,4,5,7,8,11,12,3,13} | 失败 |
我们将每个用例的序列构建为语句的执行序列图,如图2(a)-(d)。
得到用例的执行序列图之后,根据图中每条边在成功/失败的执行序列图中出现的频率评估边是否可疑,并基于此进行图的剪枝,移除可疑度较小的边,这里剪枝的实施根据实际情况来设定。例如。对于任意一条边e,e在失败的执行序列图中出现的频率记为failed(e),e在成功的执行序列图中出现的频率记为passed(e);同时我们将所有执行过的失败的测试用例总数记为totalFailed,将所有执行过的成功的测试用例总数记为totalPassed,那么满足以下条件的边将被视为可疑边:
failed(e)/passed(e)>totalFailed/totalPassed
不满足上述公式的边将被从所有的执行序列图中移除,以缩小图挖掘算法的搜索空间,同时提高挖掘结果的精度。剪枝之后的执行序列图如图3(a)-(d)所示。
最终,通过区分性子图挖掘方法找出最能区分成功和失败的执行序列图的子图,也即在失败的执行序列图中频度较高而在成功的执行序列图中频率较低的子图。根据上述算法可以计算出在此例子中前K个最可疑的子图,由于数据规模较小,我们不难发现经过执行模式:7->8的子图是被所有失败的执行序列图包含,而不被任何成功的执行序列图包含的最小子图。因此这个频繁子图将会被作为可疑的子图列表中可疑值最高的一个提供给开发者帮助进行错误定位和修正。
下面用一些真实的测试程序来展示基于信息增益的图挖掘技术的实际效果,验证本发明的方法具有更好的效果。
实验程序
本次实验使用3个程序:A、B、C,每个程序包含多个版本,每个版本包含一个bug。每个程序包含的代码行数、基本块的数目以及相应的测试用例数据都罗列在表中。同时为了度量算法的效果,本发明实施例使用F-Measure来评定准确度和召回率的总体优劣情况,计算F-Measure的公式为:
F-Measure=2*precision*recall/(precision+recall)
其中precision为精度,指的是算法返回的排名最高的K个子图的列表中包含的能够指示bug的子图的比例。recall是召回率,指的是程序多个bug版本,能够通过本算法输出的排名最高的K个子图的列表检测出的bug所占的比例。
由于以上三个度量会随着排名最高的列表长度K的不同而变化,因此本发明在实验中对K取1、3、5、7、10、15这几个不同取值,得出F-Measure随着K变化的曲线。结果如图4-图6所示。其中方格图标的线(F-Measure w/IG)表示使用本发明信息增益的挖掘方法的结果,圆点图标的线(F-Measure w/o IG)表示未使用信息增益挖掘方法的结果。这三张图展示了这两种方法在三个程序上的综合表现F-Measure的对比。通过实验结果的对比可以发现,本发明方法比之未使用信息增益方法的错误挖掘的综合效果要有明显的提升。
Claims (5)
1.基于频繁子图挖掘的错误定位方法,其特征是将程序的所有实体共同作为一个整体,通过图挖掘方法获取失败测试用例执行中的特征模式,进而实现更加准确且包含运行时上下文的自动化错误定位结果,包括以下步骤:
1)对程序执行频谱进行建模,基于测试用例对程序实体的执行顺序,构建出各测试用例的执行序列图,得到执行序列图集合;
2)根据执行序列图中每个边在所有测试用例的执行序列图中的比例,对执行序列图进行剪枝,移除可疑度较小的边,以提升后续挖掘算法的效率和精度;对剪枝后得到的测试用例的执行序列图集合,使用区分性子图挖掘方法,首先通过频繁子图挖掘算法从失败的测试用例的执行序列图中挖掘出频繁子图,再通过频繁子图的熵值从中确定出对成功和失败的测试用例执行序列图最有区分性的子图,也即最有可能导致程序行为失败的执行模式,由此定位程序中最可能导致测试用例失败的位置。
2.根据权利要求1所述的基于频繁子图挖掘的错误定位方法,其特征是步骤1)对程序执行频谱的建模为:首先对程序插桩,记录程序运行时程序实体的执行顺序信息,执行测试用例池中的成功/失败的测试用例,基于测试用例执行时的程序实体的顺序,构建出成功/失败测试用例的执行序列图集合;最后采用最小深度优先算法来唯一标示一个执行序列图,完成程序执行频谱建模,为下一步处理做准备。
3.根据权利要求1所述的基于频繁子图挖掘的错误定位方法,其特征是所述区分性子图挖掘方法为:对于一个包含了执行成功和执行失败的测试用例的测试用例池,测试用例池的熵值Hc取决于池中成功的测试用例所占的比例pSuccess以及失败测试用例所占比例pFail,如公式(1)所示:
Hc=-pSuccess*log(pSuccess)-pFail*log(pFail) (1)
设子图g为所有失败的测试用例执行序列图中挖掘出的频繁子图之一,首先依据测试用例是否包含子图g将所有执行序列图分为两类:包含子图g的执行序列图的集合S1,以及不包含子图g的执行序列图的集合S2;然后依据公式(1),根据S1和S2中包含的成功/失败测试用例的比例分别计算出S1和S2的熵值Hg1和Hg2,再根据S1的元素个数占所有测试用例池规模的比例pS1、S2的元素个数占所有用例池规模比例pS2加权,求出依据子图g划分下的测试用例池的的熵值Hg,如公式(2):
Hg=pS1*Hg1+pS2*Hg2 (2)
子图g在所有测试用例执行序列图上的划分的信息增益IG如下所示:
IG=Hc–Hg
区分性越强的频繁子图具有越高的信息增益,信息增益越高的子图在程序中的错误执行模式的可疑度越高,在枚举频繁子图的过程中计算信息增益并排列可疑度最高的K个频繁子图,提供给软件开发者和测试者错误定位使用。
4.根据权利要求3所述的基于频繁子图挖掘的错误定位方法,其特征是如果存在两个可疑度相同的子图g1和g2,即计算得到的信息增益相同,而子图g1包含了子图g2,则在可疑度排序中保留g2,移除子图g1。
5.根据权利要求1所述的基于频繁子图挖掘的错误定位方法,其特征是步骤2)中的剪枝为:对于任意一条边e,e在失败的执行序列图中出现的频率记为failed(e),e在成功的执行序列图中出现的频率记为passed(e);将所有执行过的失败的测试用例总数记为totalFailed,将所有执行过的成功的测试用例总数记为totalPassed,则满足以下条件的边将被视为可疑边:
failed(e)/passed(e)>totalFailed/totalPassed
不满足上述公式的边将被从所有的执行序列图中移除。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410713577.7A CN104536882A (zh) | 2014-11-28 | 2014-11-28 | 基于频繁子图挖掘的错误定位方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410713577.7A CN104536882A (zh) | 2014-11-28 | 2014-11-28 | 基于频繁子图挖掘的错误定位方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104536882A true CN104536882A (zh) | 2015-04-22 |
Family
ID=52852412
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410713577.7A Pending CN104536882A (zh) | 2014-11-28 | 2014-11-28 | 基于频繁子图挖掘的错误定位方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104536882A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106339288A (zh) * | 2016-06-06 | 2017-01-18 | 西北工业大学 | 一种软件故障上下文定位的方法及装置 |
CN106648636A (zh) * | 2016-12-08 | 2017-05-10 | 北京航空航天大学 | 一种基于图挖掘的软件函数变更预测系统及方法 |
CN106682514A (zh) * | 2016-12-15 | 2017-05-17 | 哈尔滨工程大学 | 基于子图挖掘的系统调用序列特征模式集生成方法 |
CN107992426A (zh) * | 2017-12-26 | 2018-05-04 | 河南工业大学 | 一种基于频繁子图挖掘的软件错误定位方法及处理装置 |
CN108762908A (zh) * | 2018-05-31 | 2018-11-06 | 阿里巴巴集团控股有限公司 | 系统调用异常检测方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100095158A1 (en) * | 2008-10-14 | 2010-04-15 | Amin Shah-Hosseini | System and method for supply chain data mining and analysis |
CN103744782A (zh) * | 2014-01-02 | 2014-04-23 | 北京百度网讯科技有限公司 | 程序执行序列的获取方法及装置 |
CN104102580A (zh) * | 2014-07-10 | 2014-10-15 | 西安交通大学 | 一种基于图挖掘的电子税务系统软件故障定位方法 |
-
2014
- 2014-11-28 CN CN201410713577.7A patent/CN104536882A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100095158A1 (en) * | 2008-10-14 | 2010-04-15 | Amin Shah-Hosseini | System and method for supply chain data mining and analysis |
CN103744782A (zh) * | 2014-01-02 | 2014-04-23 | 北京百度网讯科技有限公司 | 程序执行序列的获取方法及装置 |
CN104102580A (zh) * | 2014-07-10 | 2014-10-15 | 西安交通大学 | 一种基于图挖掘的电子税务系统软件故障定位方法 |
Non-Patent Citations (1)
Title |
---|
沈毅: "基于软件行为分析的测试服务系统的设计与实现", 《中国优秀硕士学位论文全文数据库》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106339288A (zh) * | 2016-06-06 | 2017-01-18 | 西北工业大学 | 一种软件故障上下文定位的方法及装置 |
CN106339288B (zh) * | 2016-06-06 | 2019-02-01 | 西北工业大学 | 一种软件故障上下文定位的方法及装置 |
CN106648636A (zh) * | 2016-12-08 | 2017-05-10 | 北京航空航天大学 | 一种基于图挖掘的软件函数变更预测系统及方法 |
CN106648636B (zh) * | 2016-12-08 | 2020-01-03 | 北京航空航天大学 | 一种基于图挖掘的软件函数变更预测系统及方法 |
CN106682514A (zh) * | 2016-12-15 | 2017-05-17 | 哈尔滨工程大学 | 基于子图挖掘的系统调用序列特征模式集生成方法 |
CN106682514B (zh) * | 2016-12-15 | 2020-07-28 | 哈尔滨工程大学 | 基于子图挖掘的系统调用序列特征模式集生成方法 |
CN107992426A (zh) * | 2017-12-26 | 2018-05-04 | 河南工业大学 | 一种基于频繁子图挖掘的软件错误定位方法及处理装置 |
CN108762908A (zh) * | 2018-05-31 | 2018-11-06 | 阿里巴巴集团控股有限公司 | 系统调用异常检测方法及装置 |
CN108762908B (zh) * | 2018-05-31 | 2021-12-07 | 创新先进技术有限公司 | 系统调用异常检测方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109388566B (zh) | 一种代码覆盖率分析方法、装置、设备及存储介质 | |
CN104536882A (zh) | 基于频繁子图挖掘的错误定位方法 | |
CN103559122B (zh) | 基于程序行为切片的测试案例约减方法 | |
EP2960799A1 (en) | Defect localization in software integration tests | |
CN102831055B (zh) | 基于加权属性的测试用例选择方法 | |
CN105468517B (zh) | 一种基于黑盒测试用例约简的统计错误定位方法 | |
US10902130B2 (en) | Guiding automated testing of binary programs | |
JP7404839B2 (ja) | ソフトウェアプログラム不良位置の識別 | |
CN110515826A (zh) | 一种基于次数频谱与神经网络算法的软件缺陷定位方法 | |
US9891281B1 (en) | Method and system for automatically identifying test runs contributing to coverage events of interest in verification test data | |
CN109933515B (zh) | 一种回归测试用例集的优化方法和自动优化装置 | |
CN104484162B (zh) | 一种软件测试用例设计编写方法 | |
CN107992426A (zh) | 一种基于频繁子图挖掘的软件错误定位方法及处理装置 | |
CN105808438A (zh) | 一种基于函数调用路径的测试用例复用方法 | |
CN104317707A (zh) | 一种基于程序结构影响感知的软件错误定位方法 | |
CN104572474A (zh) | 一种基于动态切片的轻量级错误定位技术实现方法 | |
CN103309811A (zh) | 一种基于测试执行记录快速定位软件代码缺陷的方法 | |
CN103455417B (zh) | 一种基于马尔可夫模型的软件错误定位系统及错误定位方法 | |
US8683494B1 (en) | Constructing event sequences in event-driven programs | |
CN102521130B (zh) | 一种基于聚类不变式分析的错误定位方法 | |
CN114153735A (zh) | 一种基于频谱技术和断言切换技术的缺陷定位方法 | |
CN104536880A (zh) | 基于符号执行的gui程序测试用例扩增方法 | |
CN115422865B (zh) | 仿真方法及装置、计算设备、计算机可读存储介质 | |
CN105204997B (zh) | 软件缺陷检测方法及装置 | |
CN109857675B (zh) | 一种利用语句类型的程序错误定位方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20150422 |
|
WD01 | Invention patent application deemed withdrawn after publication |