一种基于移动点和不完美排错的软件可靠性建模方法_2

文档序号:9200210阅读:来源:国知局
t i+2之间的失效数据确定移动点τ i+1的方法具体为:
[0046] 基于移动点的软件可靠性增长模型的故障累计均值函数,得到^和τ i+2之间故 障累计均值函数为:
[0047]
(17)
[0048] 建立目标函数:
[0049]
(18)
[0050] 其中,y(t)为t时刻软件累积故障数的实测值,&1,a2,…,a^ma)中的未知参 数,m为参数个数。
[0051] 求式(18)对&1,&2, ···,&_"的偏导,得: 剛
(19)
[0053] 上述方程组(19)对移动点τ?+1的求解不存在封闭解,通过对上述等式中τ i+1值 在(τ?,···,τ?+2)范围内的逐步选择,得到使目标函数达到最小值的移动点 Ti+1。
[0054] 设(τ …,τ i+2)中有N个点,具体估算移动点τ i+1步骤如下:
[0055] (1)取K+/ ^,利用方程组(19),求出参数 &1,a2,…,Bni的最小二 乘估计4 W,…,= 1,…,。
[0056] ⑵将5/,毛V..九V!+1 带入式(18),得Γ=Γ(<,?2ν..Α,νΜ),(/ = ι,".,Ν)。
[0057] (3)比较{Τ1,···,!^的大小,得到Ti+1的最小二乘估计值τ i+1= {τ i+1j|Tj = min (T1,. . .,TN)};综上,最终得到软件可靠性增长模型的移动点的准确位置。
[0058] 本发明的优点与积极效果在于:
[0059] (1)本发明软件可靠性增长模型建模方法考虑到现有的模型条件假设弊端,建立 全面考虑软件测试情况的软件可靠性增长模型;
[0060] (2)本发明软件可靠性增长模型建模方法同时考虑不完美排错现象和移动点现 象,将两者融合到软件可靠性建模中,更贴近软件测试实际情况;
[0061] (3)本发明软件可靠性增长模型建模方法区别于以往的考虑不完美排错的软件可 靠性增长模型,引入移动点技术,模型具有更强的拟合能力和预测能力。
【附图说明】
[0062]图1是本发明一种基于移动点和不完美排错的软件可靠性建模方法的流程示意 图;
[0063] 图2是本发明中软件失效数据的质量控制图;
[0064] 图3是本发明中模型1-模型5针对故障检测数的拟合能力曲线;
[0065]图4是本发明中模型1-模型5针对故障检测数的预测能力曲线;
[0066]图5是本发明中模型5-模型6引入移动点前后的预测能力曲线。
【具体实施方式】
[0067] 下面将结合附图和实施例对本发明作进一步的详细说明。
[0068] 一种基于移动点和不完美排错的软件可靠性建模方法,同时全面考虑故障排除过 程中的不完美排错现象和故障检测过程中的移动点现象,建立基于不完美排错和移动点的 软件可靠性增长模型;首先,运用NHPP类模型假设,结合新的故障引入率函数以及现有的 故障排除率函数,拟合故障排除过程中的不完美排错,提出一种基于不完美排错的软件可 靠性增长模型;然后根据故障检测过程中的移动点现象,提出一种新的基于移动点技术和 基于不完美排错的软件可靠性增长模型。最后利用一组公开发表的数据,验证模型的精度, 根据实验结果表明,本发明提出的软件可靠性增长模型具有更好的拟合效果和预测能力。 [0069] 本发明一种基于移动点和不完美排错的软件可靠性建模方法,如图1所示,包括 以下步骤:步骤一、提出基于移动点和不完美排错的软件可靠性建模基本假设条件;
[0070] 为了构建基于移动点技术和不完美排错的软件可靠性增长模型,基本假设如下:
[0071] 〈1>、到t时刻的累积故障数目N(t)服从均值函数为m(t)的NHPP过程。
[0072] NHPP (Non-Homogeneous Poisson Process),是指运用非齐次泊松过程类模型假 设。
[0073] 〈2>、任意时间间隔t时刻到t+ Δ t时刻内的期望软件故障检测数与t时刻剩余的 软件故障数成比例,比值为b (t)。
[0074] 〈3>、故障排除率不是100%,故障排除率函数p(t)是随着时间变化的减函数。
[0075] 〈4>、故障排除过程会引入新的故障,故障引入率函数β (t)是随时间变化的减函 数。
[0076] 〈5>、软件运行剖面与可靠性测试剖面不同。
[0077] 〈6>、软件中每个故障是相互独立的,每个故障导致系统发生失效的可能性均相 同。
[0078] 只要满足步骤一的基本假设条件的系统均适用本发明的基于移动点和不完美排 错的软件可靠性建模方法,不仅仅是电子海图信息显示系统。
[0079] 步骤二、根据软件测试过程中的不完美排错现象,获取故障引入率函数和故障排 除率函数;
[0080] 软件的故障引入率会随着测试时间的进行而逐渐降低,当测试时间足够长时,故 障引入效率趋近于0。故障引入率函数β (t)是测试时间的函数,而且呈递减的趋势。系统 中的故障引入率越低,说明技术人员在排除故障过程中的失误和保留的故障的影响越小, 系统的软件可靠性越高。
[0081] 由于故障引入率函数β (t)受到检测到的尚未被排除的故障的影响,是故障总数 函数相对于故障均值函数的瞬时变化率,与故障排除率函数的下降趋势不同。故障引入率 函数采用指数形式,能更好地体现故障排除过程中引入新故障的趋势,又能区别于故障排 除率函数。
[0082] 一种新的故障引入率函数为:
[0083] β (t) = β exp (~wt) (I)
[0084] 其中w > 0, w决定了故障引入率变化的快慢。w越大,Mt)随时间下降的越快; w越小,β (t)随时间下降的越缓慢。β为初始故障引入率,由系统中故障的类别和性质决 定,β e [0, 1],β (t) e [0, β]。
[0085] 随着软件测试的进行,保留在软件系统中的软件故障的结构和性质会受到影响, 故障排除率也会发生相应的变化。在系统中简单的故障先被开发人员排除,保留在软件中 的容易排除的软件故障会逐渐减少,难以排除的软件故障会逐渐增加,软件的故障排除率 由此会逐渐降低。随着测试时间的增加,测试工作进行到集成和系统测试阶段,测试人员越 来越难以检测到保留在系统中的故障。当测试时间足够长时,故障排除率会趋近于0。故障 排除率函数是基于测试时间的函数,随时间的增加而递减。
[0086] 系统中的故障排除率越高,说明技术人员排除的故障数越多,系统的软件可靠性 越高。因此,故障排除率函数取如下形式:
[0087] (2)
[0088] 其中k > 0, k决定了故障排除率变化的快慢。k越大,ρ (t)随时间下降的越快;k 越小,P(t)随时间下降的越缓慢。p为初始故障排除率,由系统中故障的类别和性质决定, p e [0, 1],p(t) e [0, ρ]。
[0089] 步骤三、根据移动点现象,获取基于移动点和不完美排错的软件可靠性增长模 型;
[0090] 移动点为:实际工程中,故障检测率依赖于测试人员的能力、测试资源的分布、故 障的难易程度和测试工具等,所以故障检测率既不是常数也不是平滑连续的,即它在某时 刻发生瞬时改变,该时刻称为移动点。移动点为参数发生变化时的时刻,是模型的参数发生 不连续的时刻。
[0091] 故障检测率不再是模型中的常值,而是依据时间变化的分段函数。
[0092] 对于单移动点τ基于不完美排错的软件可靠性增长模型,其故障检测率b(t)为
[0094] 当累积故障时间在[0, τ ]时,[0095] 根据假设〈1>的条件得到:
[0093] (3)
[0096] …
(4)
[0097] 其中,m(t)为软件故障均值函数:
[0098] m(t) =E [N (t)]
[0099] N(t):在[0, t]时间段内软件测试人员检测到的软件实际累积故障数;m(t)为选 取模型的预测值。
[0100] X (t):软件故障排除函数,到时刻t为止,被检测到并被排除的软件故障数。
[0101] n(t):软件故障总数函数,等于x(t)和到时刻t为止软件系统中未被检测到的故 障数之和。
[0102] bi、132为故障检测率在不同时刻的常数值。
[0103] 根据假设〈3>的条件得到:
[0104]
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1