[发明专利]一种面向巧合一致性问题的统计学软件缺陷定位方法有效
申请号: | 201210340190.2 | 申请日: | 2012-09-13 |
公开(公告)号: | CN102831065A | 公开(公告)日: | 2012-12-19 |
发明(设计)人: | 郑征;郝鹏;张震宇;蔡开元 | 申请(专利权)人: | 北京航空航天大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京慧泉知识产权代理有限公司 11232 | 代理人: | 王顺荣;唐爱华 |
地址: | 100191*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 一种面向巧合一致性问题的统计学软件缺陷定位方法,它包括五个步骤:(1)对含有缺陷的程序插桩;(2)加载程序的测试用例,运行插桩后的程序;(3)收集程序运行成功和运行失败时桩函数的输出信息;(4)对收集到的谓词动态执行信息进行分析,包括计算谓词成功与失败执行谱分布的交叠程度、计算谓词执行谱分布的标准化类间距离、计算谓词可疑程度以及对谓词排序这四小步;(5)根据第四步中得到的谓词排序表,对谓词依序进行查找,直到找到缺陷相关谓词为止。该方法能有效避免巧合一致性的影响,定位效率高,而且方法简单,容易实现。 | ||
搜索关键词: | 一种 面向 巧合 一致性 问题 统计学 软件 缺陷 定位 方法 | ||
【主权项】:
1.一种面向巧合一致性问题的统计学软件缺陷定位方法,其特征在于:该方法具体步骤如下:步骤一:对含有缺陷的程序进行插桩;插桩是为了获得特定程序节点在程序运行时的动态信息,这里对程序中的分支语句、返回语句以及数量对语句进行插桩,它通过插入布尔表达式即谓词来得以实现,桩函数要求在程序运行时输出谓词的动态执行信息,这里谓词的动态执行信息是指谓词的评估偏差;评估偏差的定义是:一次程序运行中谓词被判断为“真”的概率,用表达式
来表示,其中,eT(pj,ri)和eF(pj,ri)分别表示程序第ri次运行时谓词pj被判断为“真”和判断为“假”的次数;需要注意的是,若谓词在某次程序运行中没有被执行,则此时的评估偏差值设为0.5;为便于后文说明,使用p1,p2,...,pm表示程序中的m个插桩谓词;步骤二:加载程序的全部测试用例,运行插有桩函数的程序;通过对比原始版本即不含有任何缺陷的程序输出和缺陷版本即植入单个缺陷后的程序输出,区分使程序运行成功和运行失败的测试用例;其中,使用u表示程序运行成功的次数,v表示程序运行失败的次数;步骤三:收集每次程序运行时桩函数输出的谓词动态执行信息;在程序运行成功时,谓词pj(j∈[1,m])共得到u个评估偏差,程序运行失败时,谓词pj共得到v个评估偏差;步骤四:对收集到的所有谓词动态执行信息进行统计学分析,该步骤又分为四小步:(一)计算谓词pj(j∈[1,m])成功与失败执行谱分布的交叠程度,用Oj表示;对于谓词pj在程序运行成功和失败时评估偏差值所分别构成的执行谱集合,利用概率分布判据O j = - ln [ Σ y j ∈ D j P ( y j | ω F ) × P ( y j | ω N ) ] ]]> 来计算谓词pj成功与失败执行谱分布的交叠程度;其中,Dj表示谓词pj所有评估偏差值所构成的集合,yj表示该集合中的一个取值,ωN和ωF分别代表程序运行成功和运行失败;(二)计算谓词pj执行谱分布的标准化类间距离,用Aj表示;对于谓词pj在程序运行成功和失败时评估偏差值所分别构成的执行谱集合,首先,利用公式
来计算谓词pj成功与失败执行谱分布之间的距离,即类间距离;其中,
表示程序运行成功时谓词pj所有评估偏差值的均值;
表示程序运行失败时谓词pj所有评估偏差值的均值;然后,利用公式D j = Σ i = 1 v [ ( x ( p j , j i ) - m j F ) 2 ] v + Σ i = 1 u [ ( x ( p j , n i ) - m j N ) 2 ] u 2 ]]> 来计算谓词pj成功与失败执行谱分布内部分散的程度,即类内距离;最后,利用公式
来求取谓词pj执行谱分布的标准化类间距离;需要注意的是,若Dj=0,而Bj≠0,则设置Aj=+∞;若Dj=Bj=0,则设置Ai=0;(三)计算谓词pj的缺陷关联度;借助上面两步中分别得到的结果,利用公式
来计算谓词pj的缺陷关联度;(四)对程序中的每个插桩谓词执行上述的(一)至(三)步,直至得到全部谓词的缺陷关联度;并按照缺陷关联度的从高到低,对所有谓词排序;需要注意的是,如果遇到谓词可疑度相同的情况,则按照谓词编号的由小到大排序;此外,对于上一步中可能出现的Oj=Aj=0的特殊情况,在排序操作中需要将该谓词排在所有谓词的后面,因为该谓词的成功与失败执行谱完全相同,表现为最不可疑;步骤五:根据得到的谓词排序表,对谓词依序进行查找,直到找到缺陷相关谓词为止。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京航空航天大学,未经北京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201210340190.2/,转载请声明来源钻瓜专利网。
- 上一篇:CETP表达的调节
- 下一篇:环境识别装置及环境识别方法