The invention relates to the field of software testing technology, in particular to software fault location method and processing device based on frequent subgraph mining. This method first removes the dynamic dependency graph of the accidental correctness program in the dynamic dependency graph of the program dynamic dependency graph generated by the test case, and then uses the frequent subgraph algorithm to mine the dynamic dependency graph of the program that removes the accidental correctness, thus the error is located and the error related is obtained. The program context information provides the developer with context debugging information, which is beneficial to the developers to understand the error location results, improve the accuracy of the error location, and solve the problem of the low error location efficiency in the current software error positioning process.
【技术实现步骤摘要】
一种基于频繁子图挖掘的软件错误定位方法及处理装置
本专利技术涉及软件测试
,特别是一种基于频繁子图挖掘的软件错误定位方法及处理装置。
技术介绍
软件错误定位可以促进软件产业的健康发展,保障国家信息安全,软件质量的提升可以改善人们的生活和工作,显著推动国民经济和信息产业发展。随着软件规模和复杂程度的提高,软件错误出现的频率迅速上升,软件错误可能会给人类造成严重的经济损失和不利影响,软件错误定位为查找软件中错误提供了有效的方法。频繁子图挖掘是关联规则技术在图论上的应用,是数据挖掘中的一个活跃和重要的分支。在各种图模式中,频繁子结构可以在图集合中发现非常基本的模式,用来刻画图集合的特征,以发现有趣的模式。该技术反映了两个或多个事务之间存在一定的关联关系,其中一个事务就能通过其他的事务来预测,搜索所有事务以发现重复出现概率较高的有趣模式。运用频繁子图挖掘算法,可以挖掘出与错误语句高相关的信息,构造包含程序的上下文信息以有效地定位软件错误。本项目拟采用频繁子图挖掘算法来定位软件中的错误,并提供软件错误相关的上下文信息,方便开发人员定位错误。现有研究大部分考虑了程序执行的动态信息与程序执行失败的关联关系,但较少考虑错误定位的上下文信息,另有一部分方法大都使用统计方法计算程序实体的怀疑度,并按怀疑度大小排序,这类方法在定位单错误时的效果优于多错误的效果。目前,衡量错误定位的指标主要是错误可疑度的序列或集合,以此为依据检查错误,这种指标被目前的研究普遍采用,但这是一种较为理想化的结果,缺少定位错误的上下文信息。有中国专利公开号为CN104536882A的专利文献公开 ...
【技术保护点】
一种基于频繁子图挖掘的软件错误定位方法,其特征在于,包括步骤如下:1)通过测试用例获取软件中程序动态依赖关系,并生成程序动态依赖图;2)选取程序的偶然正确性特征元素,并根据所述偶然正确性特征元素获取去除偶然正确性的程序动态依赖图;3)将去除偶然正确性的程序动态依赖图进行编码,并进行频繁子图挖掘得到k‑频繁子图;4)根据所述k‑频繁子图产生候选子图,根据候选子图的支持度得到频繁子图;5)根据所述频繁子图与错误结果的高关联关系进行错误定位。
【技术特征摘要】
1.一种基于频繁子图挖掘的软件错误定位方法,其特征在于,包括步骤如下:1)通过测试用例获取软件中程序动态依赖关系,并生成程序动态依赖图;2)选取程序的偶然正确性特征元素,并根据所述偶然正确性特征元素获取去除偶然正确性的程序动态依赖图;3)将去除偶然正确性的程序动态依赖图进行编码,并进行频繁子图挖掘得到k-频繁子图;4)根据所述k-频繁子图产生候选子图,根据候选子图的支持度得到频繁子图;5)根据所述频繁子图与错误结果的高关联关系进行错误定位。2.根据权利要求1所述的基于频繁子图挖掘的软件错误定位方法,其特征在于,步骤2)中偶然正确性特征元素的选取为根据偶然正确性元素的怀疑度值的大小排序,将序列的前θ部分作为偶然正确性特征元素,其中0<θ<1,公式如下:fcce={e|e∈cce∧θ*ranking(cce)},所述偶然正确性元素的选取要求为程序实体出现在失败测试的概率是1,而出现在成功测试中的概率大于零小于1。3.根据权利要求2所述的基于频繁子图挖掘的软件错误定位方法,其特征在于,步骤2)中根据偶然正确性特征元素对程序执行轨迹进行约简,并基于二路谱聚类识别偶然正确性测试用例,得到去除偶然正确性的程序动态依赖图。4.根据权利要求1、2或3所述的基于频繁子图挖掘的软件错误定位方法,其特征在于,步骤3)中通过深度优先搜索(DFS)编码来表示一个去除偶然正确性的程序动态依赖图。5.根据权利要求4所述的基于频繁子图挖掘的软件错误定位方法,其特征在于,步骤3)对编码的去除偶然正确性的程序动态图采用基于模式增长的频繁子图挖掘算法gScan进行挖掘,得到k-频繁子图。6.一种基于频繁子图挖掘的软件错误定位处理装置,包括存储...
【专利技术属性】
技术研发人员:曹鹤玲,邓淼磊,靳小波,赵玉娟,鞠小林,高淼,乔梦晴,石建树,
申请(专利权)人:河南工业大学,
类型:发明
国别省市:河南,41
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。