阅读以下关于网络应用系统可靠性分析方面的技术说明,根据要求回答问题1至问题4。 【说明】 可靠性是一个网络应用系统能正常工作的能力,一般用平均故障间隔时间(MTBF)来度量。某网络应用软件研发公司正在开发一个嵌入式实时应用软件——宽带路由器的NanO

admin2009-02-15  38

问题 阅读以下关于网络应用系统可靠性分析方面的技术说明,根据要求回答问题1至问题4。
【说明】
   可靠性是一个网络应用系统能正常工作的能力,一般用平均故障间隔时间(MTBF)来度量。某网络应用软件研发公司正在开发一个嵌入式实时应用软件——宽带路由器的NanOs程序,在编写软件维护与测试说明书时,涉及到如何定量地描述软件可靠性的问题。
   该项目负责人谢工程师认为软件可靠性指的是在将要使用的指定环境下,软件能以用户可接受的方式正确运行任务所表现出来的能力。从定量角度看,似乎应当是该软件在约定的环境条件下和在给定的时间区间内,按照软件规格说明的要求,成功地运行程序所规定功能的概率。但是,他感到要具体地做定量描述有些困难。
   为此,谢工程师查阅到了本部门某个软件需求规格说明书中有关的一条说明,即错误(BUG)可采用蒙特卡罗(Monte Carlo)随机植入技术进行测试。采用错误随机植入模型估算出被测程序模块中存在的错误数具有以下几个优点:
   (1)工作方式相当直观,能在一定程度上反映出软件的质量。
   (2)虽然在技术上不完善,但至少产生了与软件质量相关的定量结果。
   (3)在最坏的情况下,起码可用来衡量“测试工作的有效性”,在某种程度上作为测试是否能结束的一项标志。
   谢工程师首先想到了曾经学到过采用蒙特卡罗随机统计技术确定不规则形状封闭图形面积的方法,即采用一个大的矩形把待测的封闭图形完全包围在该大矩形的内部,由计算机大量生成在此矩形内均匀分布的“点”,然后计数在大矩形内总的“点”的个数和在封闭图形内的“点”的个数,可近似地得到以下计算表达式:
               
   于是谢工程师把这个思想应用于系统测试过程,先在某个长度(机器指令条数)为105的程序模块中随机地人为植入10个错误,然后由一个测试组进行测试,结果一共发现有160个错误,其中有2个是人为播种植入的错误,以上测试结果基于该测试过程中未引入新的错误。

选项

答案设软件固有错误数为N,人为植入错误数为NS,测试中发现的固有错误数为M,测试中发现的人为植入错误数为MS, [*] 被测程序模块中将会遗留下未被发现的隐藏错误数为 800-160-(10-2)=640-8=632个

解析 这是一道要求读者掌握定量分析网络应用软件错误可靠性指标的计算题。本题的解答思路如下。
   1)根据题干中给出的信息可将错误随机植入模型定义成为估算某软件所含有固有错误的具体数目N,可在此软件中人为随机植入NS个错误数,然后进行比较软件的测试,如果通过测试发现了M个固有错误,其中发现的人为随机植入错误数有MS个。
   2)由题干关键信息“测试过程中未引入新的错误”,可以进一步假设人为随机植入NS个错误数后故障的出现概率等同于植入错误数之前故障的出现概率,即将程序模块单位长度故障率认为是一个常数。
                            
   5)被测程序模块中将会遗留下未被发现的隐藏错误数为:
   800-160-(10-2)=640-8=632(个)
   6)另外说明一点,蒙特卡罗错误随机植入模型存在以下几个局限性:①由于所有错误不可能等概率出现,而且错误有着连带相关性(一个错误可能隐藏另一错误),因此要想使随机植入的错误有助于正确地推算出固有的错误数,如何有效地在程度模块中选择和植入这类错误相对比较困难;②在检测错误时,错误一般不会等概率地被发现,而目在修复错误时也经常会引出一些新的错误,可见很难用简单的公式获得很理想的估计值;③随机植入的错误本身会增加检测发现错误和修改错误的:工作量。
转载请注明原文地址:https://kaotiyun.com/show/5DPZ777K
0

最新回复(0)