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