Shooman模型及其应用研究*

2010-09-08 08:05邵丽丽
菏泽学院学报 2010年5期
关键词:软件可靠性菏泽公式

邵丽丽

(菏泽学院计算机与信息工程系,山东菏泽274015)

Shooman模型及其应用研究*

邵丽丽

(菏泽学院计算机与信息工程系,山东菏泽274015)

Shooman模型用于软件开发的测试阶段,利用测试中的统计数据推测错误的产生频度,以估算软件可靠性,从而控制软件的质量.对Shooman模型公式进行推导,得到快速估算程序中固有错误总量的公式,并举例说明其应用.

软件平均无故障时间;Shooman模型;应用

引言

软件测试阶段的根本目标是消除错误,保证软件可靠性,以控制软件的质量.那么什么是软件可靠性呢?对于软件可靠性有许多不同的定义,而多数人认为:软件可靠性是程序在给定的时间间隔内,按照软件需求规格说明书的规定成功运行的概率.软件可靠性常用定量指标来衡量,定量指标是指能够以

数字概念来描述可靠性的数学表达式中所使用的量.其常用指标是软件平均无故障时间MTTF,而估算MTTF的公式,即Shooman模型.

1 Shooman模型

软件平均无故障时间MTTF是指系统规格说明书中规定的成功运行的平均时间,它主要取决于系统中潜伏的错误的数目,下面介绍估算MTTF的hooman模型.

1.1 符号

在估算MTTF的过程中使用下述符号表示有关的数量:

ET——测试之前程序中错误总数; IT——程序长度(机器指令总数);

t——测试(包括调试)时间; Ed(t)——在0至t期间发现的错误数; Ec(t)——在0至t期间改正的错误数.

1.2 基本假定

根据经验数据,可以对Shooman模型作出下述假定.

1)单位长度里的错误数ET/IT近似为常数,它不因测试与排错而改变.统计数字表明,通常ET/IT值的变化范围在0.005~0.02之间;

2)故障检出率正比于软件中残留错误数,而平均无故障时间MTTF与残留错误数成反比;

3)故障不可能完全检出,但一经检出立即得到改正,即调试过程中没有引入新的错误.

1.3 Shooman模型公式

Shooman模型可以下式表示:

式中,K是经验常数.美国的一些统计数字表明,K的典型值是200.下面对公式的基本假定3)作分析.

设Ec(t)是在0至t期间改正的错误数,t是测试时间(小时),则在同一段时间0~t内的单条指令累积规范化排除故障数曲线εc(t)为:

根据公式的基本假定,故障检出率正比于程序中残留故障数及残留故障数必须大于零,经过推导得:

这就是故障累积曲线模型,曲线模型如图1所示.

图1 故障累积曲线模型示意图

由图1可见,故障累积曲线在开始时呈递增趋势,然后逐渐和缓,最后趋近于一条水平的渐近线ET/IT.

2 Shooman模型公式的和的估算值推导

利用Shooman模型可以快速估算程序中原来的错误总量及常数的值,由公式

有:

若设t是软件总的运行时间,m是软件在这段时间内出现的故障次数,则有:

现在对程序进行两次不同的互相独立的功能测试,检错时间分别是t1,t2,假设t1

解上述方程组,得到ET的估计值和常数的估计值:

3 应用举例

如前面所推导的,Shooman模型可快速推算出程序中固有的错误数,如下面的问题:

对一个长度为100 000条指令的程序进行集成测试,记录下来的数据如下:

a)集成测试开始,没有发现错误;

b)经过160h的测试,累计改正100个错误,此时,MTTF=0.4h;

c)又经过160h的测试,累计改正300个错误,此时,MTTF=2h;

根据上面的数据完成下列各题: 1)估计程序中固有的错误总数; 2)为使MTTF达到10h,必须测试和调试这个程序多长时间?

3)给出MTTF与测试时间之间的函数关系.求解如下:

1)Shooman模型公式为:

这里:IT=105,MTTF1=0.4,Ec(t1)=100;MTTF2= 2,Ec(t2)=300.

Shooman模型公式的推导结果为:

而λ1=1/MTTF1=2.5,λ2=1/MTTF2=0.5,

此外常数K为:

即:程序中固有错误总数ET=350,K=1000.

2)设MTTF=10,有

解得:Ec(t3)=340,已知:t1=160,t2=320,

由故障累积曲线公式Ec(t)=ET(1-e-kt)得:

解得:k≈0.01.

代入故障累积曲线公式:

解得:t3=1n(35)/0.01≈356h.

即:为使MTTF=10,测试和调试该程序需要花费356h.

(3)因为Ec(t)=ET(1-e-kt),则ET-Ec(t)= ETe-kt,代人Shooman模型公式:

此即为MTTF与测试时间t之间的函数关系.

4 结语

软件可靠性是保证软件成功运行的重要指标,软件可靠性模型是软件可靠性工程中研究最早、成果最多的一个领域.Shooman模型作为软件可靠性模型之一,是进行软件可靠性分析与评价的强有力的工具.本文对Shooman模型的应用,仅在估算程序中固有错误总量和相关参数上作了初步探讨,而其在软件可靠性预测、分析和设计领域上有着更深远、更广泛的应用.

[1]张海藩.软件工程导论[M].第5版.北京:清华大学出版社,2008.

[2]黄锡滋.软件可靠性、安全性与质量保证[M].北京:电子工业出版社,2002.

[3]Musa J D.软件可靠性工程[M].韩柯,译.北京:机械工业出版社,2003.

[4]张莹.利用最小二乘法估算Shooman模型中的参数及其程序实现[J].潍坊学院学报,2003,(4):49-50.

[5]马飒飒,陈自力,赵守伟.软件可靠性定量评估过程研究[J].计算机测量与控制,2005,13(5):503-505.

[6]吴超,林家骏,俞岭,等.软件可靠性建模研究[J].计算机工程,2008,34(11):52-54.

The Reseaerch on the Shooman Model and Its Applications

SHAO Li-li

(Dept.of Computer&Information Engineering,Heze University,Heze Shandong 274015,China)

ShoomanModel is used in sof tware testing phase and it infers the software reliability by using statitic data of testing phase,so as to control the quality of sof tware.The fomula which rapidly estimates the total errors inherent in the program is acquired by deducing ShoomanModel,and the corresponding application is given.

mean t ime to failure;ShoomanModel;application

book=9,ebook=363

TP 311.52

A

1673-2103(2010)05-0052-03

2010-06-23

菏泽学院科研基金资助项目(XY07GX01)

邵丽丽(1979-),女,山东曹县人,讲师,硕士,研究方向:软件工程与人工智能.

猜你喜欢
软件可靠性菏泽公式
组合数与组合数公式
排列数与排列数公式
乡村振兴的“菏泽路径”
等差数列前2n-1及2n项和公式与应用
2019年底前山东菏泽境内三条高速可通车
软件可靠性工程综合应用建模技术研究
菏泽牡丹,花开全新产业链——第27届菏泽牡丹文化旅游节盛大开幕
例说:二倍角公式的巧用
数控系统软件可靠性设计与故障分析技术
简谈使用BoundsChecker进行计算机联锁系统人机界面软件可靠性测试