×

负指数分布排错时间的软件可靠性模型

消耗积分:3 | 格式:rar | 大小:333 | 2008-11-18

王利祥

分享资料个

传统的软件可靠性模型大多假设排除错误的时间忽略不计,基于假设过于苛刻,影响了模型应用的范围和精度。因此在JM模型的基础上,提出了排错时间为负指数分布的软件可靠性模型及本模型的极大似然参数估计方法。通过用马尔可夫过程描述系统的状态,分析了模型的数值求解方法,并讨论了使用在本模型中的失效预测、剩余错误预测和等待排出的错误数预测公式。同时利用实际的工程数据对本模型的应用过程进行了验证。
关 键 词 软件可靠性模型; 软件可靠性; 排错时间; JM模型

在现有的软件可靠性模型中,绝大多数都假设排除错误的时间忽略不计,这些模型的可靠性预测都依赖于这条假设。显然,忽略排错时间的假设过于苛刻,尤其在软件工程的实践中,排错过程已经成为影响软件可靠性的重要环节。在得不到排错过程数据的情况下,忽略排错时间使得可靠性模型变得简单,同时也降低了模型精度和结果的可信度。随着软件开发过程管理水平的提高, 在有条件获得排错过程的有关数据条件下,则应将考虑排错过程对可靠性的影响,本文提出了考虑排错时间的可靠性模型。
1 JM模型
JM模型(Jelinski and Moranda Model,JM)由文献[1]提出,是最早的软件可靠性模型之一,该模型对软件可靠性定量分析技术的建立和发展做出了重要的贡献[2, 3]。
模型基本假设如下:1) 软件测试的方式与使用方式相同;2) 软件每个错误导致系统失效的可能性相同;3) 软件中的错误相互独立,各次失效的间隔时间也相互独立;4) 当失效发生后,导致失效的软件错误立刻被排除,排错时间忽略不计,且不引入新的错误;5) 在测试开始时,软件中有N0个错误。N0是一个未知常数;6)软件的失效率Z在每个失效间隔内是常数,其数值与软件中残留的错误数成正比,比例系数为Φ。假

设1)保证了使用测试数据对可靠性进行了模型评估的正确性。假设2)使得不同的失效率具有相同的分布特性。假设3)排除了错误之间的相互影响。假设4)则将测试阶段中的查错、排错两种活动简化为只有查错一种活动,忽略了排错过程和排错结果对可靠性的影响。假设1)~4)广泛应用在多种软件可靠性模型之中[2,3]。根据JM模型的假设5)、6)可以得知,在第i个测试区间内,失效率函数为:
Z(Δt | ti−1)=Φ(N0−i+1)
假设失效发生时刻的随机变量为ξ, 用F(t)表示ξ的分布函数.根据状态转移概率的定义可以得到: 000{|}{}()()(|)limlimlim{}(1())1()tttPttttPtttFttFtFtZttttPthFtξξξξΔ→Δ→Δ→′+Δ>>+Δ>+Δ−Δ====ΔΔ>−≥≥ (1)
求解这个一阶常系数微分方程,在初始条件F(0)=0的情况下,可得分布函数:
01() = 1exp{(|)} = 1exp{(+1)}iFtZtttNitΦ−−Δ−−− (2)
可见,系统在经历了i−1次失效后,第i次失效发生的时间服从参数Φ(N0−i+1)的负指数分布。其密度函数 f(t) = F′ (t) =Φ(N0−i+1)exp{−Φ(N0−i+1)t},可靠性函数R(t) = exp{−Φ(N0−i+1)t},第i次失效与第i−1次失效的间隔时间 =01(1iMTBFNiΦ=−+,则第k次失效发生的时间 。失效次数的均值公式为: 1kkitMTB==Σ
(3) 0()=[1exp()]mtNtΦ−−
剩余错误数的均值为:
0()=exp()etNt−Φ (4)
2 负指数分布排错时间的软件可靠性模型
2.1 基本假设
本模型的假设包括JM模型的假设1)~3)和假设5),对假设4)和假设6)进行如下修改。
2.1.1 对假设4)的修改:负指数时间的排错过程
假设4.1),每次的软件失效是由一个错误引起的;假设4.2),当失效发生后,排错活动立刻进行;假设4.3),每次排除一个错误,排错顺序按照失效的顺序进行,如果新的排错任务到达时上一个错误仍未被排除,则新的排错任务进入排队;假设4.4),排错是完美的,引起失效的错误一定能够排除,且不引入新的错误;假设4.5),错误的排除时间服从负指数分布。在上述排错过程假设的5个方面中,假设4.1)可以从原JM模型的假设2)和假设3)推导得到;假设4.2)和假设4.3)反映了大多数软件排错活动的特点;假设4.4)对实际的排错活动进行了简化,本模型暂不考虑不完美排错的情况。
负指数分布能够较好地描述许多人工活动的服务时间[4];文献[5]对178个排错时间样本进行了分析,认为排错时间服从负指数分布;在文献[4]中,通过Shuttle项目中包含85个数据项的排错时间样本分析,认为其排错时间也服从参数为平均排错时间的负指数分布。由于负指数分布的排错时间具有较为广泛的代表性,因此,本模型假设排错时间服从参数为μ0的负指数分布,其分布函数为:0()1exp()Fttμ=−−。
2.1.2 对假设6的修改:失效过程假设
假设6.1),软件的瞬时失效率Z在每个失效间隔内是常数,其数值与软件中残留的错误数成正比,比例系数为Φ,假设6.2)一旦错误被排除,立刻以新的软件版本为对象进行测试。本模型假设6.1)具有与原JM模型相同的实质,但瞬时失效率具有不同的表达式。假设当前已经发生了i次失效,且已修复了j个错误(j≤i),则称系统当前处于状态(i,j)。根据假设6),处于状态(i, j)的系统的瞬时失效率为( | )=Ztti0(NjΦ−。从上式可以看出,在初始错误一定的情况下,瞬时失效率只与已经排除的错误数有关,而与失效次数无关。这是本模型与JM模型失效过程的最大区别。假设6.2)符合一般的测试过程,该假设将影响到从失效时刻得到失效间隔时间的处理。
2.2 模型的马尔可夫过程
如果用二元组(i,j)表示系统的当前状态,其中i为失效次数,j为已经修复的错误数,N0为初始错误数,则系统状态的变化构成一个连续时间的马尔可夫过程,如图1所示,其中瞬时状态转移概率为:

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !