软件可靠性的评价准则
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件可靠性的评价准则
迄今为止,尚无一个软件可靠性模型对软件的不同特性和不同使用环境都有效。已公开发表的100余种软件可靠性模型,表达形式不同,适应性各异,与实际的软件开发过程有较大差异。而且,新模型还在不断发表。因此,在进行软件可靠性预计、分析、分配、评价和设计之前,对软件可靠性模型进行评价及选择与软件项目相符或相近的模型非常重要。通过建立有效的评价准则,在考虑它们与各种软件的关系的基础上,对拟评价的可靠性模型就有效性、适应性和模型能力等进行评价,判定它们的价值,比较它们的优劣,然后选择有效的软件可靠性模型。另一方面,在可接受的模型之间无法做出明确的选择时,可根据模型的使用环境等,在模型评价准则的基础上,进行模型择优。当然,软件可靠性模型的评价不仅依赖于模型的应用,还依赖于理论的支持和丰富的、高质量可靠性数据的支持。软件可靠性模型的评价最早始于1984年Iannino、Musa、Okumoto和Littlewood所提出的原则。根据这一原则,结合后人的工作,形成了基本的软件可靠性评价准则集。它们是软件可靠性模型比较、选择和应用的基础。
准则一:模型预测有效
软件可靠性模型最重要的评价指标是模型预测的有效性。它根据软件现在和过去的故障
行为,用模型预测软件将来的故障行为和可靠性水平。它主要通过能有效描述软件故障随机过程特性的故障数方式对模型进行描述与评价。基于软件故障时间特性的随机过程也是一种常用的方法,而且这两种方法相互重叠。
要确定软件可靠性模型预测的有效性,首先要比较模型预测质量。这种比较通常通过相
对误差法、偏值、U图法、Y图法、趋势法等方法进行。故障数度量是一种在工程上被广泛应
用的方法。此外,还可以通过比较不同数据集合所做出的中位线图形来评价模型预测的有效性。如果一个模型产生的曲线最接近于0,则该模型是最优的。而且,这种有效性测定方法有效地克服了规范化图形评价与具体软件项目之间的联系,保证了它的独立性。
用给定可靠性数据对软件可靠性模型进行比较时,必须考察拟合模型与观察数据的一致
性和符合性。当然,根据拟合模型进行采样,是否可以获得足够的观察数据非常重要。拟合优度检验是一种系统地表达并证明观察数据和拟合模型之间全局符合性的方法,使用最广泛的是x2检验。
1.准确性
软件可靠性模型预测的准确性可用前序似然函数来测定。设观察到的失效数据对应于软
件相继失效之间的时间序列t1,t2,..,ti-1,并用这些数据来预测软件在未来可能的Ti,即希
望得到Ti的真实概率密度函数Fi(t)的最优估计值。假设以t1,t2,...,ti-1为基础预测Ti的
分布Fi(t)的概率密度函数
@@42D11000.GIF;表达式1@@
对Ti+1,Ti+2,...,Ti+n的这种向前一步预测,即进行了n+1次预测之后的前序似然函数为
@@42D11001.GIF;表达式2@@
由于这种度量常常接近于0,所以常用其自然对数进行比较。假定比较的两个软件可靠性
模型分别为A和B,则对它们进行n次预测之后的前序似然比为
@@42D11002.GIF;表达式3@@
这个比率表示一个模型将比另一个模型给出更准确的预测的可能。如果
@@42D11003.GIF;表达式4@@
则表明模型A比模型B预测的准确性高,模型A的有效性优于模型B。如果有c>0且
@@42D11004.GIF;表达式5@@
即随着预测次数的无限增加,两个模型A和B的前序似然比趋于一个常量,则表明两个模型A和B的预测结果是等价的,即两个模型的预测准确性或有效性是等价的。
2.偏倚
在软件可靠性模型的应用过程中,如果用模型得到预期预测结果的时间和观测到的软件
失效时间不一致,就认为该模型是有偏的。为了测定模型的偏倚量,可计算在单位斜率线和i 时刻真实概率密度的估计Fi(ti)概率积分变换值之间的最大垂直距离。Fi(ti)是在各个观察
到的失效时间点上计算出来的模型分布函数值。同时,这一模型的分布函数值还表明了模型偏倚的方向。当Fi>0时,表示模型趋向于乐观,反之则表示模型趋向悲观。无论哪种情况绝对值越小,模型固有的偏倚就越小。
3.趋向
有时,模型在早期的预测值集是令人乐观的,但这种乐观有可能随着预测的不断进行而丧失。它说明所描述的偏倚检验将均化这些影响,因而模型显得是无偏的。在这种情况下,重要的是分析Fi(ti)的趋向。它被定义为单位斜率线和yi的累积分布函数之间的科尔马高洛夫距离。趋向表示模型偏倚的一致性。趋向值越小,意味着模型更能适应软件可靠性数据的变化,因而能产生更好的预测有效性。
4.噪声
在软件可靠性模型中,通常将噪声假设为白噪声。实际情况并非总是如此,而且软件可靠
性模型对各种噪声并非均具有较好的适应性和不敏感性。一般地,我们可用经典统计学中的均方差来检验模型中的噪声。无论哪种情况,我们都希望得到尽量小的噪声度量值。它不仅指模型预测中的噪声小,还指模型具有较好的平滑性。噪声为无穷大时,表示模型可预测的软件失效率为0。
准则二:模型假设合理且易于测试
在软件可靠性模型的建立过程中,针对不同的对象和使用环境导入了一些假设条件。这
些假设有时仅仅是为了理论推导和证明的需要,甚至是为了某些特殊目的而引入的。纵观现有的各种模型假设,不仅数量多,且有泛滥的趋势。而模型假设左右着模型质量。因此,模型假设是否合理、假设质量的高低、假设的可测试性等无疑成了模型能力与有效性度量的一个重要指标。模型假设的局限性太多,有碍于软件可靠性模型研究与应用的发展。在软件可靠性模型中所做的一般假设有:
·模型中的初始错误数是一个常数或与故障率成正比。
·每个软件错误导致相同的软件故障率。
·一次可排除一个错误,排除时不引入新错误,错误最终将被完全排除。
·故障发生率服从分布。
·故障间隔时间服从负指数分布。
·软件中的剩余错误数正比于最后一次测试的时间长度。
·测试输入随机地遇到故障。
·所有失效的影响相互独立。
·测试空间覆盖使用空间。