CN102360333B - 基于hisqm排队模型考虑故障排除过程的构件软件可靠性分析方法 - Google Patents

基于hisqm排队模型考虑故障排除过程的构件软件可靠性分析方法 Download PDF

Info

Publication number
CN102360333B
CN102360333B CN201110315118.XA CN201110315118A CN102360333B CN 102360333 B CN102360333 B CN 102360333B CN 201110315118 A CN201110315118 A CN 201110315118A CN 102360333 B CN102360333 B CN 102360333B
Authority
CN
China
Prior art keywords
component
formula
fault
probability
hisqm
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201110315118.XA
Other languages
English (en)
Other versions
CN102360333A (zh
Inventor
崔刚
侯春燕
刘宏伟
刘刚
付忠传
吴祥虎
张楠
王秀峰
朱东杰
张策
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Harbin University of technology high tech Development Corporation
Original Assignee
Harbin Institute of Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Harbin Institute of Technology filed Critical Harbin Institute of Technology
Priority to CN201110315118.XA priority Critical patent/CN102360333B/zh
Publication of CN102360333A publication Critical patent/CN102360333A/zh
Application granted granted Critical
Publication of CN102360333B publication Critical patent/CN102360333B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

基于HISQM排队模型考虑故障排除过程的构件软件可靠性分析方法,它涉及一种软件可靠性分析方法。它为了解决传统的基于体系结构的模型以及方法中存在的只考虑了测试中的故障检测过程,忽略了故障排除过程的弊端。首先基于排队论,用HISQM模型来建模构件软件集成测试中的故障排除过程。构件软件集成测试过程包括故障检测过程和故障排除过程。集成测试排错策略将这两个随机过程联系起来。HISQM模型由若干个独立的ISQ系统组成,每个ISQ系统描述根据排错策略分配到该系统中的构件故障的排除行为。分析了HISQM排队模型的到达过程和离开过程,分别对应于构件软件集成测试中的故障检测过程和故障排除过程。建模构件软件的故障检测过程为NHPP类软件可靠性增长模型。

Description

基于HISQM排队模型考虑故障排除过程的构件软件可靠性分析方法
技术领域
本发明涉及一种软件可靠性分析方法。
背景技术
在对构件软件测试阶段进行可靠性分析时,传统的基于体系结构的模型以及方法,为了使模型易于求解,它们往往只考虑了测试中的故障检测过程,忽略了故障排除过程。一个常用的假设就是假设检测到的故障能立即完全修复或故障排除时间可以忽略不计。这种假设过分简化了构件软件应用的集成测试过程,与实际并不相符。
过去,研究人员已经开始讨论如何使用排队方法来解释软件测试中的排错行为。Dohi等把有限故障和无限故障两类NHPP模型放到一个统一的建模框架中,通过引进一个ISQ模型描述软件排错行为,说明在经典的NHPP模型中考虑软件排错过程。Huang等引用一个实例系统P1来阐明故障排除过程不可以忽略这个问题,指出对于该大型的软件系统来说,检测到的故障需要花费数月时间去排除。图13显示了系统P1在测试过程中检测到的故障数,排除的故障数和检测到还未排除的故障累计数随时间的变化情况。图13清楚地说明了故障排除时间是不可以忽略的,因为排除的故障数远远滞后于检测到的故障数。他们分别使用ISQ和FSQ(Finite Server Queue)两类模型描述软件的排错行为,推导出新的软件可靠性增长模型来预测软件可靠性。与基于ISQ的模型相比,基于FSQ的模型考虑到了排错资源的约束性问题,但是由于模型过于复杂,最终没有得到求解。Lin等用基于率的仿真方法解决了这个问题。他们用排队论描述和解释软件开发中的故障排除行为。基于排队模型,开发出仿真程序实现对软件可靠性过程的仿真。后来,Huang等考虑到在排错过程中排错速率可能在某些特定的点发生变化,提出一个具有多个移动点的扩展的ISQ模型来预测和估计软件可靠性。
以上的排队模型描述普通软件的黑盒测试过程。集成测试是基于构件软件应用的运行剖面执行的灰盒测试过程,虽然对每个构件来说执行的仍是黑盒测试,但要求系统内部信息可见。目前还没有研究工作将排队论用于构件软件可靠性分析中。混合无限服务员排队模型(HISQM)基于排队论,建模构件软件集成测试中的故障排除过程,组成模型的每个ISQ系统描述根据排错策略分配到该系统中的构件故障的排除行为。该模型同时也考虑了故障排除过程中可能存在的不完全排错的情况,本发明将用它来实现对集成测试中构件软件可靠性过程的估计和预测。
发明内容
本发明为了解决传统的基于体系结构的模型以及方法中存在的只考虑了测试中的故障检测过程,忽略了故障排除过程的弊端,而提出了一种基于HISQM排队模型考虑故障排除过程的构件软件可靠性分析方法。
基于HISQM排队模型考虑故障排除过程的构件软件可靠性分析方法的集成测试过程包括故障检测过程和故障排除过程:
故障检测过程:
设随机过程{Nd(t),t≥0}表示构件软件集成测试中的故障检测过程,对应于HISQM模型的到达过程;
Nd(t)表示到时间t从构件软件应用中检测到的故障数;到时间t累计检测到的故障数的期望值表示为
M d ( t ) = Σ i = 1 n m di ( π i t ) 公式一
式中mdi(t)——到时间t构件i累计检测到的失效数目的期望值;
    πi——在系统稳定状态下构件i的执行时间比例;
故障排除过程:
设随机过程{Nr(t),t≥0}表示构件软件集成测试中的故障排除过程,对应于HISQM排队模型的离开过程;
Nr(t)表示到时间t总共排除的故障数,即等于到时间t排除所有构件故障数的总和;设随机变量Ndj(t)、Nrj(t)、Nij(t)和Noj(t)分别表示到时间t从构件j中检测到的故障数、完全排除的故障数、不完全排除的故障数和检测到还未进行排除的故障的数目,且所有随机变量满足Ndj(t)=Nrj(t)+Nij(t)+Noj(t),
P { N rj ( t ) = k ∩ N ij ( t ) = l ∩ N oj ( t ) = m }
= P { N rj ( t ) = k ∩ N ij ( t ) = l ∩ N oj ( t ) = m | N dj ( t ) = k + l + m } × P { N dj ( t ) = k + l + m }
= C k + l + m k p k C l + m l q l C m m r m × [ m dj ( t ) ] k + l + m ( k + l + m ) ! e - m dj ( t ) 公式三
= [ m dj ( t ) p ] k k ! e - m dj ( t ) p × [ m dj ( t ) q ] l l ! e - m dj ( t ) q × [ m dj ( t ) r ] m m ! e - m dj ( t ) r
式中p——检测到的构件j的故障在时间区间[0,t]内被完全排除的概率;
q——检测到的构件j的故障在时间区间[0,t]内被不完全排除的概率;
r——检测到的构件j的故障在时间区间[0,t]内未进行排除的概率;
p,q,r满足p+q+r=1;设构件j的故障进入HISQM排队模型中第i(0<i≤k)个排错系统ISQi中进行排除;
设随机变量X表示在集成测试执行时间区间[0,t]内检测到构件j的故障的时刻;Y表示ISQi排错系统排除故障所需要的时间长度,它的分布函数为Gi(y),密度函数为gi(y);则r表示为
r = 1 - ∫ 0 t P { Y ≤ t - x ∩ X = x } dx
= 1 - ∫ 0 t P { Y ≤ t - x } × P { X = x } dx 公式四
= 1 - ∫ 0 t G i ( t - x ) × P { X = x } dx
设随机变量Z表示集成测试中构件j发生失效的时刻;随机变量S表示构件j执行的时刻;则在集成测试执行时间区间[0,t]上,构件j在x时刻发生失效的概率为
P { X = x } = P { Z = x ∩ S = x } ∫ 0 t P { Z = x ∩ S = x } dx
= P { Z = x | S = x } × P { S = x } ∫ 0 t P { Z = x | S = x } × P { S = x } dx 公式五
= η j λ j ( π j x ) ∫ 0 t η j λ j ( π j x ) dx = π j λ j ( π j x ) m dj ( π j t )
式中λj(t)——构件j失效发生速率;
将公式五代入公式四得到r等于
r = 1 - ∫ 0 t π j λ j ( π j x ) m dj ( π j t ) G i ( t - x ) dx
公式六
= 1 - 1 m dj ( π j t ) ∫ 0 t m dj ( π j x ) g i ( t - x ) dx
设ISQi中完全排错概率为ρi;不完全排错是指已经完成修复的故障没有完全被排除,将再次被检测到;假设引入新故障的概率忽略;因此,p表示为
p = ( 1 - r ) × ρ i = ρ i m dj ( π j t ) ∫ 0 t m dj ( π j x ) g i ( t - x ) dx 公式七
进而得到
P { N rj ( t ) = k } = [ m dj ( t ) p ] k k ! e - m dj ( t ) p 公式八
均值函数表示为
m rj ( t ) = m dj ( t ) × p = ρ i ∫ 0 t m dj ( π j x ) g i ( t - x ) dx 公式九
到时间t累计排除故障数的期望值Mr(t)表示为
M r ( t ) = Σ j = 1 n m rj ( t ) = Σ i = 1 k Σ j ∈ ISQ i ρ i ∫ 0 t m dj ( π j x ) g i ( t - x ) dx 公式十
基于Goel-Okumoto模型和不完全排错假设,在时间t构件j的失效速率表示为
λ j ( t ) = dm dj ( t ) dt = b j ( a j - m dj ( t ) ρ i ) 公式十一
式中aj——最终可能从构件j中检测出的故障总数的期望值;
    bj——每个故障的查出率;
求解以上微分方程得到
m dj ( t ) = a j ρ i ( 1 - e - b j ρ i t ) 公式十二
设排队系统ISQi中排错时间服从参数为ui的指数分布,分布函数为概率密度函数为将概率密度函数和公式十二带入公式八得到集成测试中构件j的故障排除过程为
m rj ( t ) = a j [ 1 + b j ρ i π j e - μ i t - μ i e - b j ρ i π j t μ i - b j ρ i π j ] , μ i ≠ b j ρ i π j a j [ 1 - ( 1 + μ i t ) e - μ i t ] , μ i = π j b j ρ i 公式十三
基于排队论,提出一个混合无限服务员排队模型HISQM来建模分析集成测试中故障排除过程,并考虑了不完全排错,从而实现对构件软件测试中实际的可靠性增长过程的描述。
附图说明
图1是混合无限服务员排队模型(HISQM)的结构示意图,图2是一个示例应用的体系结构示意图,图3是构件1执行时间比例随时间变化情况曲线图,图4式构件5执行时间比例随时间变化情况曲线图,图5是HISQM模型分析结果曲线图,图6是HISQM分析结果与仿真结果比较曲线图,图7至图12是ISQ3中未排除故障数随时间的变化图:图7是排错人员数目:1;图8是排错人员数目:2;图9是排错人员数目:3;图10是排错人员数目:4;图11是排错人员数目:5;图12是排错人员数目:6;图13系统P1累计检测到和排除的故障数目曲线图。
具体实施方式
具体实施方式一:结合图1说明本实施方式,本实施方式中的构件软件集成测试表示将应用中所有构件组装在一起进行测试的过程,应用中所有构件协同工作。随着测试的执行,故障不断被发现,排除,软件应用经历可靠性增长。集成测试过程包括故障检测过程和故障排除过程。集成测试排错策略将这两个随机过程联系起来。
集成测试过程中,根据排错策略组织排错活动的进行。排错策略根据实际开发特点以及预算和进度要求,合理地配置排错资源,将检测到的故障以一定的方式分配给相应的排错人员进行故障排除。集成测试排错策略包含应用中每个构件的排错机制。因为构件软件应用是以异构方式,对于检测到的不同构件的故障,需要采用如下两种不同的机制进行排除:
第一种,独立排错机制。对于检测到的某个构件的故障使用专门的独立排错资源进行修复。
第二种,共享排错机制。对于检测到的某些构件的故障,根据检测到的先后顺序使用共享的排错资源进行修复。
由n个构件组成的构件软件应用。对于该应用,集成测试中需要用k(0<k≤n)个独立的排错系统对故障进行排除,k由排错策略决定。
因此,用包含k个独立的ISQ(Infinite Server Queueing)系统的HISQM来建模构件软件集成测试中的故障排除过程,如图1所示。
基于HISQM排队模型考虑故障排除过程的构件软件可靠性分析方法,基于如下假设:
(1)构件软件应用由n个构件组成,对应用执行基于其运行剖面的集成测试,所有构件失效都会引发系统失效;
(2)集成测试前应用中每个构件都经过了充分的单元测试;
(3)每个构件的失效过程满足NHPP,所有故障之间相互独立;
(4)故障排除时间不可以忽略,已经排除的故障数滞后于检测到的故障数;
(5)排错可能是不完全的,不会引入新故障,故障排除活动不会影响故障检测过程的继续进行;
(6)组成模型的k(0<k≤n)个ISQ队列系统相互独立,k由排错策略决定,每个ISQ系统中有无数个服务员,服务员的服务时间满足一般分布;
(7)检测到的不同构件的故障根据排错策略分配到相应的ISQ系统中,到达后立即分配排错人员进行故障排除。
故障检测过程:
设随机过程{Nd(t),t≥0}表示构件软件集成测试中的故障检测过程,对应于HISQM模型的到达过程;
Nd(t)表示到时间t从构件软件应用中检测到的故障数;由于应用中每个构件的失效过程满足NHPP,因此{Nd(t),t≥0}也为NHPP,到时间t累计检测到的故障数的期望值表示为
M d ( t ) = Σ i = 1 n m di ( π i t ) 公式一
式中mdi(t)——到时间t构件i累计检测到的失效数目的期望值;
    πi——在系统稳定状态下构件i的执行时间比例;
在集成测试前,构件软件应用中每个构件都经过了充分的单元测试。因此在集成测试中应用失效发生的频率比较低,在失效发生前构件之间能完成多次交互,系统运行到达一个稳定状态。定义向量η=[η1,η2,…,ηn]表示在这种稳定状态下应用中每个构件的执行概率,则πi表示为
π i = η i Σ j = 1 n p ij τ ij Σ j = 1 n η j Σ k = 1 n p jk τ jk 公式二
式中pij——构件i成功执行完成之后控制转移到构件j的概率;
    τij——构件i成功执行完成之后控制转移到构件j时构件i执行时间的期望值。
构件软件应用的稳态概率向量η由应用的运行剖面决定。运行剖面通常用应用的体系结构模型描述,表示为构件之间的转移概率P=[pij]。应用的体系结构建模为不可约的DTMC或吸收DTMC,前者表示持续运行的构件软件应用,后者表示终止的构件软件应用;任意时刻应用的状态由该时刻执行的构件表示,状态转移表示构件之间的控制转移。
对于持续运行的构件软件应用,体系结构模型是遍历的,它具有唯一的稳定状态概率,η可以通过求解下列线性方程得到:
η = ηP Σ i = 1 n η i = 1 公式三
对于终止的构件软件应用,不失一般性,假设应用从构件1开始执行,到构件n执行结束。此时应用的体系结构模型是可约的,具有吸收态n,不能根据公式三直接求解稳态概率。因为终止应用一次执行结束后,下一次执行又会从构件1开始重启。从系统多次运行的整个执行过程来看,可以将应用看成具有构件n到构件1条件转移的无限运行的构件软件应用。因此,修改转移概率矩阵P为P′,增加从状态n到状态1的转移pn1=1。修改后的体系结构模型是遍历的。将P′带入公式三即可求解出终止应用的稳态概率值。
故障排除过程
设随机过程{Nr(t),t≥0}表示构件软件集成测试中的故障排除过程,对应于HISQM排队模型的离开过程;
Nr(t)表示到时间t总共排除的故障数,即等于到时间t排除所有构件故障数的总和;设随机变量Ndj(t),Nrj(t),Nij(t),Noj(t)分别表示到时间t从构件j中检测到的故障数,完全排除的故障数,不完全排除的故障数,检测到还未进行排除的故障的数目,满足 N dj ( t ) = N rj ( t ) + N ij ( t ) + N oj ( t ) , 那么有
P { N rj ( t ) = k ∩ N ij ( t ) = l ∩ N oj ( t ) = m }
= P { N rj ( t ) = k ∩ N ij ( t ) = l ∩ N oj ( t ) = m | N dj ( t ) = k + l + m } × P { N dj ( t ) = k + l + m }
= C k + l + m k p k C l + m l q l C m m r m × [ m dj ( t ) ] k + l + m ( k + l + m ) ! e - m dj ( t ) 公式四
= [ m dj ( t ) p ] k k ! e - m dj ( t ) p × [ m dj ( t ) q ] l l ! e - m dj ( t ) q × [ m dj ( t ) r ] m m ! e - m dj ( t ) r
式中p——检测到的构件j的故障在时间区间[0,t]内被完全排除的概率;
    q——检测到的构件j的故障在时间区间[0,t]内被不完全排除的概率;
r——检测到的构件j的故障在时间区间[0,t]内未进行排除的概率;
p,q,r满足p+q+r=1;设构件j的故障进入HISQM排队模型中第i(0<i≤k)个排错系统ISQi中进行排除;
设随机变量X表示在集成测试执行时间区间[0,t]内检测到构件j的故障的时刻;Y表示ISQi排错系统排除故障所需要的时间长度,它的分布函数为Gi(y),密度函数为gi(y);则r表示为
r = 1 - ∫ 0 t P { Y ≤ t - x ∩ X = x } dx
= 1 - ∫ 0 t P { Y ≤ t - x } × P { X = x } dx 公式五
= 1 - ∫ 0 t G i ( t - x ) × P { X = x } dx
设随机变量Z表示集成测试中构件j发生失效的时刻;随机变量S表示构件j执行的时刻;则在集成测试执行时间区间[0,t]上,构件j在x时刻发生失效的概率为
P { X = x } = P { Z = x ∩ S = x } ∫ 0 t P { Z = x ∩ S = x } dx
= P { Z = x | S = x } × P { S = x } ∫ 0 t P { Z = x | S = x } × P { S = x } dx 公式六
= η j λ j ( π j x ) ∫ 0 t η j λ j ( π j x ) dx = π j λ j ( π j x ) m dj ( π j t )
式中λj(t)——构件j失效发生速率;
将公式六代入公式五得到r等于
r = 1 - ∫ 0 t π j λ j ( π j x ) m dj ( π j t ) G i ( t - x ) dx
公式七
= 1 - 1 m dj ( π j t ) ∫ 0 t m dj ( π j x ) g i ( t - x ) dx
设ISQi中完全排错概率为ρi;不完全排错是指已经完成修复的故障没有完全被排除,将再次被检测到;假设引入新故障的概率忽略;因此,p表示为
p = ( 1 - r ) × ρ i = ρ i m dj ( π j t ) ∫ 0 t m dj ( π j x ) g i ( t - x ) dx 公式八
由于公式四中三个随机变量Nrj(t),Nij(t),Noj(t)相互独立,因此得到
P { N rj ( t ) = k } = [ m dj ( t ) p ] k k ! e - m dj ( t ) p 公式九
由上式看出,构件j的故障排除过程也是NHPP,均值函数表示为
m rj ( t ) = m dj ( t ) × p = ρ i ∫ 0 t m dj ( π j x ) g i ( t - x ) dx 公式十
由于所有构件的故障排除过程都满足NHPP,因此构件软件应用的故障排除过程也是NHPP,到时间t累计排除故障数的期望值Mr(t)表示为
M r ( t ) = Σ j = 1 n m rj ( t ) = Σ i = 1 k Σ j ∈ ISQ i ρ i ∫ 0 t m dj ( π j x ) g i ( t - x ) dx 公式十一
由于不完全排除的故障将会被再次检测到,因此不完全排错会影响故障检测过程。改进经典的Goel-Okumoto软件可靠性增长模型来考虑不完全排错。基于Goel-Okumoto模型和不完全排错假设,在时间t构件j的失效速率表示为
λ j ( t ) = dm dj ( t ) dt = b j ( a j - m dj ( t ) ρ i ) 公式十二
式中aj——最终可能从构件j中检测出的故障总数的期望值;
    bj——每个故障的查出率;
求解以上微分方程得到
m dj ( t ) = a j ρ i ( 1 - e - b j ρ i t ) 公式十三
指数分布是常用的服务时间分布假设;设排队系统ISQi中排错时间服从参数为ui的指数分布,分布函数为概率密度函数为将概率密度函数和公式十三带入公式九得到集成测试中构件j的故障排除过程为
m rj ( t ) = a j [ 1 + b j ρ i π j e - μ i t - μ i e - b j ρ i π j t μ i - b j ρ i π j ] , μ i ≠ b j ρ i π j a j [ 1 - ( 1 + μ i t ) e - μ i t ] , μ i = π j b j ρ i 公式十四
具体实施方式二:结合图2至图13说明本实施方式,本实施方式与具体实施方式一不同点在对HISQM排队模型进行实验分析。HISQM模型参数设定,将图2中构件软件应用的体系结构模型带入改进的可加模型,计算得到应用中构件的稳态概率向量为
η=[0.1297,0.1177,0.1181,0.0543,0.1751,0.0326,0.0798,0.1133,0.0497,0.1297]
设每次访问构件时构件执行时间长度为1个时间单元,将它们和η带入改进的可加模型中计算得到每个构件执行时间比例。
用改进的Goel-Okumoto模型建模每个构件的失效行为,如公式七。不失一般性,设应用中所有构件的失效模型相同,bi=0.0057,ρi=1。分析当ai取不同值时构件的执行时间比例随着测试进行的变化情况。在以前的研究工作中,已经开发出仿真程序对构件软件集成测试过程实现仿真。利用它仿真该构件软件应用的集成测试过程。设仿真过程中执行测试总时间为10,000个时间单元,执行仿真过程2,000次,得到构件平均执行时间比例变化情况如图3和图4所示。
图3和图4分别显示了构件失效模型中参数ai取不同值时构件1和构件5的执行时间比例在集成测试过程中随时间的变化情况。从图中可以看出,ai越小,构件执行时间比例在稳态值附近波动幅度越小,越接近于稳态值。这是因为当ai取值较大时,构件中的故障比较多,系统失效发生频率高,在失效发生前系统无法运行达到一个稳定状态,因此在测试初期构件执行时间比例不等于稳态值,随时间不断变化。随着测试过程中故障的不断排除,在测试后期构件执行时间比例趋近于稳态值。因此用HISQM排队模型对构件软件应用进行可靠性分析时,要求在集成测试前对应用中所有构件都进行充分的单元测试,降低ai的值,这样在集成测试中构件执行时间比例才能满足稳态值。
比较图3和图4观察到,当ai取值较大时,构件1和构件5的执行时间比例变化趋势不同。构件1的执行时间比例在测试开始时就急剧上升到最高点,然后开始递减,逐渐趋于稳态值;构件5的执行时间比例随着测试的进行缓慢递增,逐渐趋于稳定。这是构件软件集成测试中的“掩盖”现象。在集成测试过程中,每当发生失效后,软件系统重启,从第一个构件重新开始执行。因此,发生在执行序列前面的构件中的故障被检测到并排除后,发生在执行序列后面的构件中所存在的故障才有可能被发现。也就是说,前面构件中的故障“掩盖”了后面构件中的故障。构件1由于排在执行序列的第一位,在测试初期系统失效发生频率比较高,系统不断重启,构件1得到充分执行,执行时间比例急剧上升。随着测试的进行,前面构件发生失效的概率越来越小,这样后面的构件就有机会被执行到,构件1执行时间比例逐渐下降。相比而言,构件5排在执行序列中部,它的执行时间比例随着前面构件中故障的排除而逐渐缓慢曲折增长到稳态值。
因此,根据以上分析,为了满足HISQM模型假设,设构件失效模型中ai=2。
该构件软件应用一共包括10个构件,根据集成测试中采用的排错策略不同,HISQM排队模型可能由k(0<k≤10)个ISQ系统组成,存在10种建模方式。这里只选取k=3时的HISQM模型进行分析,由这种一般性情况可以推广到其他各种情况。k=3时HISQM模型由3个ISQ排队系统组成,分别为ISQ1,ISQ2,ISQ3。设ISQ排队系统中每个排错人员的排错速率为μ=0.004。设排错策略为构件1和5采用独立排错机制,检测到的构件1的故障进入ISQ1,构件5的故障进入ISQ2;其他构件采用共享排错机制,检测到的故障进入ISQ3
设定的HISQM模型参数,用公式一和公式十一分别求解该构件软件应用的故障检测剖面和故障排除剖面,如图5所示。可以看出,在集成测试中应用的故障检测剖面和故障排除剖面是不同的,排除的故障数目滞后于检测到的故障的数目。因此在对构件软件测试阶段进行可靠性分析时,故障排除时间和故障排除过程是不可以忽略的。
为了验证HISQM模型的有效性,对该构件软件应用的集成测试过程执行仿真。仿真过程中执行测试的总时间为10,000个时间单元,执行仿真过程2,000次,得到该应用的平均故障排除剖面。图6显示了仿真得到的故障排除剖面与HISQM模型分析得到的故障排除剖面。可以看出,HISQM排队模型分析结果与仿真结果非常接近。过去,研究人员已经验证了仿真方法在构件软件可靠性分析中的有效性,因此可以说明HISQM排队模型可以准确地描述构件软件应用的可靠性过程。
HISQM排队模型假设每个ISQ系统中排错人员数目是无限的,故障到达后能立即分配排错人员。因为在集成测试中,应用中所有构件都经过充分的单元测试,所以不会检测到过多的故障而需要太多的排错人员。下面针对该实例应用,分析无限排错人员的假设在实际中是可以满足的。在该实例应用的HISQM排队模型中,到达ISQ3的故障数最多,因为共享该排错系统的构件数目最多。设ISQ3中排错人员数目是有限的,分别为1到6。在这6种配置条件下执行仿真过程,得到ISQ3队列中未排除故障数随时间的变化情况,如图6至图12所示。未排除故障包括排队等待分配排错资源的故障和占有资源还未被排除的故障。从图中可以清楚看出,当排错人员数目等于6时,等待队列中已经没有故障,到达的故障都可以分配到排错资源,此时已满足HISQM模型假设。因此可以看出,对于实际的软件公司来说,这样的模型假设是不难满足的。
以上通过实验证明了HISQM排队模型在进行构件软件可靠性分析时的有效性和实用性。HISQM排队模型准确地描述了构件软件应用的可靠性过程,预测软件可靠性随测试过程的增长。这能为软件发布和测试资源的合理配置提供依据,使软件既能按计划准时发布,又能满足用户的可靠性需求,降低软件的总成本。反之则会给软件企业和用户造成经济和信誉上的损失。因此,HISQM排队模型对于构件软件测试,进一步对于软件市场决策具有着重要指导意义。基于模型的方法与基于仿真的方法相比,优点在于稳定性强,节省时间和计算资源,误差小,能够分析系统可靠性对构件可靠性的灵敏度,识别系统可靠性瓶颈,为任务的实施以及测试资源的合理配置提供指导。但基于模型的方法假设条件比较严格,这也限制了该方法在某些条件下的可应用性。
其它组成和连接方式与具体实施方式一相同。

Claims (2)

1.基于HISQM排队模型考虑故障排除过程的构件软件可靠性分析方法,其特征在于它的集成测试过程包括故障检测过程和故障排除过程:
故障检测过程:
设随机过程{Nd(t),t≥0}表示构件软件集成测试中的故障检测过程,对应于HISQM模型的到达过程;
Nd(t)表示到时间t从构件软件应用中检测到的故障数;到时间t累计检测到的故障数的期望值表示为
M d ( t ) = Σ i = 1 n m di ( π i t ) ,    公式一
式中mdi(t)——到时间t构件i累计检测到的失效数目的期望值;
πi——在系统稳定状态下构件i的执行时间比例;
故障排除过程:
设随机过程{Nr(t),t≥0}表示构件软件集成测试中的故障排除过程,对应于HISQM排队模型的离开过程;
Nr(t)表示到时间t总共排除的故障数,即等于到时间t排除所有构件故障数的总和;设随机变量Ndj(t)、Nrj(t)、Nij(t)和Noj(t)分别表示到时间t从构件j中检测到的故障数、完全排除的故障数、不完全排除的故障数和检测到还未进行排除的故障的数目,且所有随机变量满足Ndj(t)=Nrj(t)+Nij(t)+Noj(t),
P { N rj ( t ) = k ∩ N ij ( t ) = l ∩ N oj ( t ) = m } = P { N rj ( t ) = k ∩ N ij ( t ) = l ∩ N oj ( t ) = m | N dj ( t ) = k + l + m } × P { N dj ( t ) = k + l + m } = C k + l + m k p k C l + m l q l C m m r m × [ m dj ( t ) ] k + l + m ( k + l + m ) ! e - m dj ( t ) = [ m dj ( t ) p ] k k ! e - m dj ( t ) p × [ m dj ( t ) q ] l l ! e - m dj ( t ) q × [ m dj ( t ) r ] m m ! e - m dj ( t ) r ,    公式三
式中p——检测到的构件j的故障在时间区间[0,t]内被完全排除的概率;
q——检测到的构件j的故障在时间区间[0,t]内被不完全排除的概率;
r——检测到的构件j的故障在时间区间[0,t]内未进行排除的概率;
k——独立排错系统的个数;
p,q,r满足p+q+r=1;设构件j的故障进入HISQM排队模型中第i个排错系统ISQi中进行排除,0<i≤k;
设随机变量X表示在集成测试执行时间区间[0,t]内检测到构件j的故障的时刻;Y表示ISQi排错系统排除故障所需要的时间长度,它的分布函数为Gi(y),密度函数为gi(y);则r表示为
r = 1 - &Integral; 0 t P { Y &le; t - x &cap; X = x } dx = 1 - &Integral; 0 t P { Y &le; t - x } &times; P { X = x } dx = 1 - &Integral; 0 t G i ( t - x ) &times; P { X = x } dx ,    公式四
设随机变量Z表示集成测试中构件j发生失效的时刻;随机变量S表示构件j执行的时刻;则在集成测试执行时间区间[0,t]上,构件j在x时刻发生失效的概率为
P { X = x } = P { Z = x &cap; S = x } &Integral; 0 t P { Z = x &cap; S = x } dx = P { Z = x | S = x } &times; P { S = x } &Integral; 0 t P { Z = x | S = x } &times; P { S = x } dx = &eta; j &lambda; j ( &pi; j x ) &Integral; 0 t &eta; j &lambda; j ( &pi; j x ) dx = &pi; j &lambda; j ( &pi; j x ) m dj ( &pi; j t ) ,    公式五
式中λj(t)——构件j失效发生速率;
将公式五代入公式四得到r等于
r = 1 - &Integral; 0 t &pi; j &lambda; j ( &pi; j x ) m dj ( &pi; j t ) G i ( t - x ) dx = 1 - 1 m dj ( &pi; j t ) &Integral; 0 t m dj ( &pi; j x ) g i ( t - x ) dx ,    公式六
设ISQi中完全排错概率为ρi;不完全排错是指已经完成修复的故障没有完全被排除,将再次被检测到;假设引入新故障的概率忽略;因此,p表示为
p = ( 1 - r ) &times; &rho; i = &rho; i m dj ( &pi; j t ) &Integral; 0 t m dj ( &pi; j x ) g i ( t - x ) dx ,    公式七
进而得到
P { N rj ( t ) = k } = [ m dj ( t ) p ] k k ! e - m dj ( t ) p ,    公式八
均值函数表示为
m rj ( t ) = m dj ( t ) &times; p = &rho; i &Integral; 0 t m dj ( &pi; j x ) g i ( t - x ) dx ,    公式九
到时间t累计排除故障数的期望值Mr(t)表示为
M r ( t ) = &Sigma; j = 1 n m rj ( t ) = &Sigma; i = 1 k &Sigma; j &Element; ISQ i &rho; i &Integral; 0 t m dj ( &pi; j x ) g i ( t - x ) dx ,    公式十
基于Goel-Okumoto模型和不完全排错假设,在时间t构件j的失效速率表示为
&lambda; j ( t ) = dm dj ( t ) dt = b j ( a j - m dj ( t ) &rho; i ) ,    公式十一
式中aj——最终可能从构件j中检测出的故障总数的期望值;
bj——每个故障的查出率;
求解以上微分方程得到
m dj ( t ) = a j &rho; i ( 1 - e - b j &rho; i t ) ,    公式十二
设排队系统ISQi中排错时间服从参数为ui的指数分布,分布函数为概率密度函数为将概率密度函数和公式十二带入公式八得到集成测试中构件j的故障排除过程为
m rj ( t ) = a j [ 1 + b j &rho; i &pi; j e - &mu; i t - &mu; i e - b j &rho; i &pi; j t &mu; i - b j &rho; i &pi; j ] , &mu; i &NotEqual; b j &rho; i &pi; j a j [ 1 - ( 1 + &mu; i t ) e - &mu; i t ] , &mu; i = &pi; j b j &rho; i ,    公式十三
2.根据权利要求1所述的基于HISQM排队模型考虑故障排除过程的构件软件可靠性分析方法,其特征在于在系统稳定状态下构件i的执行时间比例πi的获得方法为:定义向量η=[η12,…,ηn]表示在这种稳定状态下应用中每个构件的执行概率,则πi表示为
&pi; i = &eta; i &Sigma; j = 1 n p ij &tau; ij &Sigma; j = 1 n &eta; j &Sigma; k = 1 n p jk &tau; jk ,    公式二
式中pij——构件i成功执行完成之后控制转移到构件j的概率;
τij——构件i成功执行完成之后控制转移到构件j时构件i执行时间的期望值;
构件软件应用的稳态概率向量η由应用的运行剖面决定;运行剖面通常用应用的体系结构模型描述,表示为构件之间的转移概率P=[pij];应用的体系结构建模为不可约的DTMC或吸收DTMC,前者表示持续运行的构件软件应用,后者表示终止的构件软件应用;
对于持续运行的构件软件应用,体系结构模型是遍历的,它具有唯一的稳定状态概率,η通过求解下列线性方程得到:
&eta; = &eta;P &Sigma; i = 1 n &eta; i = 1 ,    公式十四
对于终止的构件软件应用,修改转移概率矩阵P为P′,增加从状态n到状态1的转移pn1=1;将P′带入公式十四即可求解出终止应用的稳态概率值。
CN201110315118.XA 2011-10-17 2011-10-17 基于hisqm排队模型考虑故障排除过程的构件软件可靠性分析方法 Active CN102360333B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110315118.XA CN102360333B (zh) 2011-10-17 2011-10-17 基于hisqm排队模型考虑故障排除过程的构件软件可靠性分析方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110315118.XA CN102360333B (zh) 2011-10-17 2011-10-17 基于hisqm排队模型考虑故障排除过程的构件软件可靠性分析方法

Publications (2)

Publication Number Publication Date
CN102360333A CN102360333A (zh) 2012-02-22
CN102360333B true CN102360333B (zh) 2015-08-19

Family

ID=45585662

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110315118.XA Active CN102360333B (zh) 2011-10-17 2011-10-17 基于hisqm排队模型考虑故障排除过程的构件软件可靠性分析方法

Country Status (1)

Country Link
CN (1) CN102360333B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103744780A (zh) * 2013-12-29 2014-04-23 哈尔滨工业大学 考虑排错等待延迟的基于fsq的软件可靠性增长模型的建立方法
CN103761183A (zh) * 2013-12-29 2014-04-30 哈尔滨工业大学 考虑fde和fce的基于isq的软件可靠性增长模型的建立方法
CN106547690B (zh) * 2016-10-20 2018-12-14 北京航空航天大学 基于新拟合判定标准下的软件可靠性建模方法及装置
CN109902262B (zh) * 2019-03-19 2022-06-21 福建工程学院 一种具两异质服务类型排队线的稳态机率矩阵计算方法
US11228631B2 (en) * 2019-04-26 2022-01-18 Juniper Networks, Inc Apparatus, system, and method for conditionally performing media delivery index measurements on streaming media
CN111309626B (zh) * 2020-03-08 2021-07-02 山西大学 基于giss分布故障引进的开源软件可靠性建模方法
CN112783772B (zh) * 2021-01-22 2023-09-15 哈尔滨工业大学(威海) 软件可靠性分析方法、系统、介质、设备、终端及应用

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101241466A (zh) * 2007-02-08 2008-08-13 深圳迈瑞生物医疗电子股份有限公司 一种嵌入式软件的测试方法和系统
CN101599047A (zh) * 2008-06-05 2009-12-09 埃森哲环球服务有限公司 软件升级分析系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101241466A (zh) * 2007-02-08 2008-08-13 深圳迈瑞生物医疗电子股份有限公司 一种嵌入式软件的测试方法和系统
CN101599047A (zh) * 2008-06-05 2009-12-09 埃森哲环球服务有限公司 软件升级分析系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
一个故障检测与故障修正相结合的软件可靠性增长模型;刘宏伟等;《高技术通讯》;20100430(第4期);1-4 *
基于率的构件软件可靠性过程仿真;侯春燕等;《软件学报》;20111130;第22卷(第11期);2749-2759 *

Also Published As

Publication number Publication date
CN102360333A (zh) 2012-02-22

Similar Documents

Publication Publication Date Title
CN102360333B (zh) 基于hisqm排队模型考虑故障排除过程的构件软件可靠性分析方法
Wu et al. Extended object-oriented Petri net model for mission reliability simulation of repairable PMS with common cause failures
Wang et al. Competing failure analysis in phased-mission systems with functional dependence in one of phases
CN106055729A (zh) 一种基于蒙特卡洛仿真的故障树分析方法
CN104375842A (zh) 一种自适应软件uml建模及其形式化验证方法
CN105701277A (zh) 一种基于aadl建模的航电系统架构实时性分析方法
CN103761183A (zh) 考虑fde和fce的基于isq的软件可靠性增长模型的建立方法
CN104573224A (zh) 一种基于模型检测技术的复杂机电系统可靠性评估方法
CN105243245A (zh) 一种基于Petri网的电路模块故障机理相关关系的可靠性建模方法
CN104679945B (zh) 基于有色Petri网的系统综合评估方法
Hyun et al. Statistical verification framework for platooning system of systems with uncertainty
Saadawi et al. Verification of real-time DEVS models
CN101846978B (zh) 一种基于gspn可靠性模型的可靠度分析方法
Zhang et al. Software architecture modeling and reliability evaluation based on petri net
CN102393833B (zh) 基于hfsqm排队模型考虑排错资源局限性的构件软件可靠性分析方法
Zhang et al. Taking ideas from paper to practice: a case study of improving design processes through detailed modeling and systematic analysis
CN102123053B (zh) 水平分解的多类闭合分叉-汇集排队网络性能分析方法
CN104503913B (zh) 一种基于迁移路径和改进马氏链的构件软件可靠性评估方法
CN103677849B (zh) 一种嵌入式软件可信性保障方法
Duarte et al. Experience with a new architecture review process using a globally distributed architecture review team
CN106547696B (zh) 一种面向工作流系统的测试用例生成方法及装置
Samkari et al. A Petri net based method for the early verification & validation of a simulation study in construction management
Hanh et al. Verification of an air-traffic control system with probabilistic real-time model-checking
CN113542285B (zh) 一种针对Tendermint共识协议的多阶段自动化的形式化验证方法
Kerley et al. Using simulation to support process integration and automation of the early stages of aerospace design

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20200331

Address after: 150001 No. 118 West straight street, Nangang District, Heilongjiang, Harbin

Patentee after: Harbin University of technology high tech Development Corporation

Address before: 150001 Harbin, Nangang, West District, large straight street, No. 92

Patentee before: HARBIN INSTITUTE OF TECHNOLOGY

TR01 Transfer of patent right