[发明专利]基于输入参数特征谱的软件缺陷定位方法有效
申请号: | 201410161786.5 | 申请日: | 2014-04-21 |
公开(公告)号: | CN103914386B | 公开(公告)日: | 2017-08-04 |
发明(设计)人: | 王瑞;田宇立;李宁;张延园;李战怀 | 申请(专利权)人: | 西北工业大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 西北工业大学专利中心61204 | 代理人: | 王鲜凯 |
地址: | 710072 *** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 输入 参数 特征 软件 缺陷 定位 方法 | ||
1.一种基于输入参数特征谱的软件缺陷定位方法,其特征在于步骤如下:
步骤1:将每一个数值型参数的域进行区间离散化,将其划分为多个子域;所述数值型参数包括每个值本身就是一个子域的离散型数值,以及连续性数值;
所述连续性数值的区间离散化,以下述公式计算出每个子域的步长Steplength以及每个子域i的取值区间,得到若干个子域,
其中:Max和Min表示参数取值的最大值和最小值,|D|表示测试用例的个数,N是常量,表示每个子域包含参数取值个数的期望值;
步骤2:以每个参数Pi在每个子域中的相关执行结果failed/passed统计信息作为输入参数特征谱,根据可疑度计算公式得出可疑度最大的参数以及其所对应的可疑度最大的子域区间:
所述可疑度计算公式:
Suspiciousnessj=Densityj×Sensitivityj
Suspiciousness=Max(Suspiciousnessj)
其中:fail表示执行失败的测试用例个数,total表示所有的测试用例个数,j表示该参数的第j个子域,failj表示第j个子域中执行失败的测试用例个数;Density表示失败密度,Sensitivity表示失败敏感度,Suspiciousness表示可疑度;
步骤3:构建程序超级执行依赖图PSEDG;首先针对每个测试用例构建其程序依赖图,然后将所有测试用例的程序依赖图进行叠加构成PSEDG;
步骤4:以第2步得到的可疑度最大的参数为图搜索的起点,在PSEDG中搜索可疑实体集合SSPN;
步骤5:执行一种基础的基于程序特征谱的故障定位方法SBFL,得到一个按照可疑度降序排列的可疑实体列表;
步骤6:采用下式计算每个可疑实体e最终的可疑度suspeSPRank,进而给出一个最终的降序排列的可疑实体列表;
其中:flag表示e是否更加可疑的标识符,当e∈SSPN时,flag为1;否则flag为0;suspe(basic)为第5步中基础SBFL方法计算出的实体e的可疑度,Max(susp(basic))表示第5步计算得到所有实体的可疑度中的最大可疑度。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西北工业大学,未经西北工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410161786.5/1.html,转载请声明来源钻瓜专利网。