[发明专利]基于联合依赖概率建模的软件错误定位方法有效
申请号: | 201310099997.6 | 申请日: | 2013-03-26 |
公开(公告)号: | CN103198016A | 公开(公告)日: | 2013-07-10 |
发明(设计)人: | 苏小红;龚丹丹;马培军;王甜甜;赵玲玲;王煜 | 申请(专利权)人: | 哈尔滨工业大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 哈尔滨市松花江专利商标事务所 23109 | 代理人: | 金永焕 |
地址: | 150001 黑龙*** | 国省代码: | 黑龙江;23 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 联合 依赖 概率 建模 软件 错误 定位 方法 | ||
1.基于联合依赖概率建模的软件错误定位方法,其特征在于基于联合依赖概率建模的软件错误定位方法包括以下步骤:
步骤1:分别执行正确测试用例和错误测试用例,并分别对正确测试用例和错误测试用例建立联合依赖概率模型;
步骤2:在步骤1的基础上,根据联合依赖概率模型,计算每个节点的可疑度;
步骤3:将错误定位信息按可疑度进行降序排列,可疑度高的节点认定为更有可能出错的节点,即完成了对基于联合依赖概率建模的软件的错误进行定位。
2.根据权利要求1所述的基于联合依赖概率建模的软件错误定位方法,其特征在于所述建立联合依赖概率模型的方法具体为:
A、首先为程序建立控制流图,然后记录语句间的控制依赖关系;
B、再为程序建立数据依赖图,然后分别记录语句间的数据依赖关系;
C、然后通过运行测试用例,插装捕获节点的控制依赖路径和数据依赖路径;
D、根据控制流图和节点的控制依赖路径,计算每个节点的状态依赖概率;
其中,所述每个节点被执行的概率记为P(node),对于分支节点在被执行概率的基础上记录状态为true和false的概率,记为P(node(true))和P(node(false));
所述每个节点,根据下式计算节点node被执行的概率P(node):
其中,P(para(node))为节点node的父节点被执行的概率,n(node)为控制依赖路径中,节点node被执行的次数,n(para(node))为控制依赖路径中节点node的父节点被执行的次数;
所述分支节点,在被执行概率的基础上计算节点状态为true和false的概率,即P(node(true))和P(node(false)):
P(node)=P(node(true))+P(node(false)) (2)
其中,所述
其中,n(node(true))和n(node(false))分别为控制依赖路径中节点node的执行状态为true和false的次数;
E、根据数据依赖图和节点的数据依赖路径,计算每个节点的条件依赖概率P(data dependency|state dependency):
n(node(state dependency,data dependency))为数据依赖路径中节点node的状态为state、数据依赖为data dependency出现的次数,n(node(state dependency))为数据依赖路径中节点node的状态为state出现的总次数;
F、根据每个节点的状态依赖概率和条件依赖概率,计算节点的联合依赖概率:
根据下式计算节点的联合依赖概率:
联合依赖概率=状态依赖概率×条件依赖概率 (4)
G、建立联合依赖概率模型
定理:(联合依赖概率模型):程序代码P的联合依赖概率模型是一个三元组(D,S,R),其中:
(1)D=(N,E)是P的数据依赖图,N为节点集合,E为数据依赖边集合,表示程序的数据依赖关系;
(2)S是节点到状态的映射;
(3)R是节点的联合依赖概率。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于哈尔滨工业大学,未经哈尔滨工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310099997.6/1.html,转载请声明来源钻瓜专利网。
- 上一篇:智能翻译扫描笔
- 下一篇:硬盘故障检测方法及装置