软件可靠性第二章翻译.ppt

上传人:小飞机 文档编号:6232742 上传时间:2023-10-08 格式:PPT 页数:53 大小:1.19MB
返回 下载 相关 举报
软件可靠性第二章翻译.ppt_第1页
第1页 / 共53页
软件可靠性第二章翻译.ppt_第2页
第2页 / 共53页
软件可靠性第二章翻译.ppt_第3页
第3页 / 共53页
软件可靠性第二章翻译.ppt_第4页
第4页 / 共53页
软件可靠性第二章翻译.ppt_第5页
第5页 / 共53页
点击查看更多>>
资源描述

《软件可靠性第二章翻译.ppt》由会员分享,可在线阅读,更多相关《软件可靠性第二章翻译.ppt(53页珍藏版)》请在三一办公上搜索。

1、Software Reliability Engineering 2,Chen HaopengSunday,October 8,2023,References:Software Reliability Engineering 2nd edtion,John D.Musa,软件可靠性工程过程,软件可靠性工程过程大致包含五个活动:定义必要的可靠性开发业务概况准备测试执行测试将失败数据提交决策,软件可靠性工程过程,测试人员进行系统工程的头两项活动测试人员需要接触更多的产品用户,这是非常有用的知道系统行为是不可接受的 是怎么不可接受的 为了了解用户将如何使用该产品.,测试种类,有两种类型的软件可靠性工

2、程测试可靠性增长测试认证测试可靠性增长试验包括功能测试负荷试验回归测试认证测试不涉及调试通过认证测试将进行二进制决定:接受软件或拒绝软件并退回返工将其供应商,系统的测试,系统:每个实体你将单独测试它可以包含由任何硬件,软件和人员要素的组合。.我们将使用可靠性增长测试,只要我们在开发甚至是产品的一部分。认证测试是一个预演,如果我们的客户将进行验收测试。超系统和产品的系统作为一个组件运行,这些应被视为潜在的系统,需要单独进行测试。,可靠性,我们可以定义关于自然单位或时间单位的可靠性指标。我们可以关注的两个时间.程序执行时间,实际上是由一个处理器执行系统指令花费的时间。第二类时间是我们正常遇到的作为

3、这两种类型的时间举例,考虑一个文字处理系统的秘书服务。一个星期后,有可能是40小时的时间在此期间,系统运行。可能有2小时的文字处理程序本身的执行时间。,可靠性,有四类时间故障发生的情况。失效时间无故障时间间隔失败的经验累积到一个特定的时间失败经历的时间间隔他们都是随机变量。至少有两方面的随机性主要原因。首先,由程序员的错误,而对故障的说明是一个非常复杂的,不可预测的过程。因此,程序故障的位置是未知的。第二,程序的执行条件一般都是不可预测的。,基于时间的故障规范,基于失败的故障规范,典型的失效概率分布,时间轴系统故障,MTBF Mean Time Between Failures平均故障间隔时间

4、 MTTD Mean Time To Detection平均检测时间 MTTR Mean Time To Repair平均修护时间,电子元器件故障率,故障率约。恒定的使用寿命。同样适用于修复率,可靠性算数,可靠性,R(t),系统从时间t开始执行一个单任务假设任务在时间t=0开始任务期间没有修护 是一个常数的故障率,例如每超过一小时的使用寿命,每25万小时假设独立故障 R(t)=e-t非老师备注:以下几页PPT有些英文无翻译必要,如有考题,到时套用公式。,可靠性算数,R(t)=e-t 举例如果是每25万小时,例如每小时故障率是 0.000025,那么一个8小时的任务 R(8)=99.98%系统在

5、执行 10,000 次八小时的任务时将成功9,998,可靠性基础知识,Failure rate(FR=)故障率Average number of times the system is likely to fail in a given period of time,e.g.0.003 failures per dayMean time to failure(MTTF)平均无故障时间Expected time that the system will operate before first failure occurs:Mean time between failures(MTBF)平均无故

6、障时间跟 MTTF相似,但是包括修护时间,可靠性基础知识,Repair rate(RR=)修复率Average number of times the system is likely to be repaired in a given period of time,e.g.0.03 repairs per yearMean time to repair(MTTR)平均修复时间Expected time to repair,as for MTTF:Mean time to detection(MTTD)平均检测时间Similar,expected time detection of syste

7、m malfunction,可用性,Availability可用性The probability that a system will be functioning correctly at any given timei.e.the fraction of time when operational;alternatively Unavailability不可用性,举例,GivenFR故障率=0.001 failures per hourRR修复率=0.5 repairs per hour We getMTTF平均无故障时间=1/0.001=1000 hoursMTTR平均修复时间=1/0.

8、5=2 hoursAvailability 可用性=1000/(1000+2)=0.998=99.8%注意故障和修复率随时间改变不同于可靠性,可用性是瞬间的措施,而不是每个任务期间,可靠性框图,鉴于由模块组成的系统,其可靠性是什么?组合模块-系列(上),并行,串行系统,任何组件故障导致系统故障把所有故障率计算出来,然后算平均无故障时间FR(故障率)=FR1故障率1+FR2+.+FRn 可靠性乘积,假设故障都是独立的rel=rel1 x rel2 x.x reln,并行系统,一个组件出现故障需要不会导致系统故障 组建失败率=1-reli 系统的可靠性rel=1“probability syste

9、m has failed”=1(1-rel1)x(1-rel2)x.x(1-reln),组合系列并行系统,需要考虑的任意串并联组合-通过分组简化-应用可靠性的计算方法,并行系统的可靠性,可靠性对于不同的N的并行系统,马尔可夫模型,有用的故障预测,不同的设计方案比较建立一个概率(马尔可夫)模型预测的可靠性,可用性,基于该模型的可靠性模型的类型离散时间的马尔可夫链连续时间马尔可夫链在Logic Express的可靠性措施使用概率来计算的预测模型检测,离散时间马尔可夫链,状态1:工作,状态2:故障 每一步失败的概率是0.1;正在维修的概率是 0.4 系统行为的路径,e.g.:1(0.9)1(0.1)

10、2(0.4)1(概率=0.9x0.1x0.4=0.036),连续时间马尔可夫链,状态1:工作,状态2:故障 故障率是 l,修复律是 m 平均无故障时间(MTTF)is 1/l,平均修复时间(MTTR)is 1/m 实时性能,e.g:-“什么是在经过100小时的工作正在可能性“-“在长远来说,什么样的时间比例是花费在失败了?“,较大的马尔可夫链模型,状态=可能的配置系统状态空间=所有可能状态常巨大的:百万/十亿状态例如:计算机与5个状态(关闭,睡眠,工作,失败,维修)20台电脑网络:5 20=980万状态分析性能/可靠性属性:求解线性方程组/线性优化问题变量数=状态数目,较大的马尔可夫链模型,需

11、要工具的支持,例如PRISM构建模式,从高层次的语言描述概率计算,计时,措施,.,可靠性指标,经常使用时序逻辑准确,形式规范,没有含糊之处Pp A U B“事件A在事件B之前发生的概率是 p”Pp T A“事件A在时间T之前发生的概率是 p”down=P0.75!fail U1,2.5 up“当关闭时,系统恢复完成的概率在1至2.5小时,没有发生进一步的失败,是大于0.75”,可靠性指标,通常希望获得的实际概率而不是仅仅“是”/“不“的答案可以研究的范围值/图概率常用来发现行为模式/异常,P=?T arrive 一个到达在时间T到达的概率?”for T=0.100 For c=2,4,6,8,

12、10,PRISM,概率模型检测工具 Developed at Birmingham,7 years,特点:-自定义建模语言-支持三种类型的概率模型-图形用户界面-模拟器,调试器-Linux的/的Solaris/Windows/Mac上-开源:GNU通用公共许可证(GPL)-广泛的案例研究,PRISM 模型语言,简单的编程语言介绍了概率模型(马尔可夫链)模块-组件模型变量-描述了每个模块的状态留守命令-描述模块的行为另外:全局变量同步,PRISM 模型语言:举例,Tossing a coin/constantsconst int HEADS=1;const int TAILS=2;/a sing

13、le modulemodule coin/variablex:0.2 init 0;/guarded commands(x=0)-0.5:(x=HEADS)+0.5:(x=TAILS);(x0)-1:(x=x);endmodule,The PRISM Tool,The PRISM Tool,The PRISM Tool,案例1-工作站机群,计算机网络:-两个与N每个工作站subclusters-中央骨干连接-所有组件可以失败/被修复,工作站机群:故障率,Mean time to failure(MTTF)平均无故障时间Failure rate(FR)故障率FR=1/MTTFAlso:Mean

14、time to repair(MTTR)平均修复时间Repair rate(RR)修复率,PRISM 代码:Clusters,const int N;/number of work stations in each clustermodule leftcluster/variablesleft_op:0.N init N;/number of workstations operationalleft_rep:bool init false;/being repaired?/guarded commands/one workstation fails(left_op0)-0.002*left_o

15、p:(left_op=left_op-1);/start being repairedrepairleft left_op 10:(left_rep=true);/finish being repairedfixedleft left_rep-2:(left_rep=false)endmodule/construct second(identical)cluster by“renaming”module rightcluster=leftcluster left_op=right_op,left_rep=right_rep,.,PRISM 模型,Other modules:leftswitch

16、,rightswitch,backbone,repairmanPRISM converts:model description-continuous-time Markov chain,PRISM的可靠性指标,服务质量(QoS)的定义:“最低”(对于某些k0.7 保险费“在长期而言,提供服务质量,保险费率大于70“,PRISM的可靠性分析,P值?=T!最低-“什么是服务质量的概率低于最低质量下降t小时之内?”,软件可靠性,很难给出一个“软件可靠性“的正式定义1如果正确,0就不正确计算程序中的错误概率是计划让同一个输入数据从用户环境的典型设置正确的输出可靠性取决于用户配置文件非执行的代码不会对产

17、量的影响很少使用的模块可能不太重要的系统的可靠性,可靠性措施,在测试过程中识别并修复故障,并收集有关数据,例如,软件之间的无故障时间利用这些数据来预测未来故障间隔时间可靠性增长的故障发生在软件和它的可靠性增加删除。该故障间隔时间较长的增长。,可靠性措施,实际开发的软件故障的频率是唯一可靠的方法来预测未来的行为。通常涉及测量记录之间的软件时,在模拟环境中执行或业务连续失败的次数。,时间测量,测量可以采取以下方面:执行时间-为程序的执行实际的处理时间日历时间-以秒,分钟,小时熟悉的术语和时间。时钟时间-时间一台计算机运行,而执行程序。其他方案可能是同一台机器上执行在同一时间。,趋势分析,变更请求(

18、RFC)的-把一个请求由开发人员,测试人员,质量保证等修改软件不良率(DR)-缺陷的数量在测试阶段发现,趋势分析,随着越来越多的不良率上升的修改发生-这表明,没有发生可靠性增长作为变革稳定,不良率下降的请求-这表明,正在发生的可靠性增长,统计模型,Jalinski-morandaMusa basicMusa-OkumotoLittlewood-VerallSchneidewindYamada,Execute test cases,Get the profiles for each test case,Build a relational database of profiles,Estimat

19、e transition probabilities&build operational profile,Uncertainty analysis,Estimate components reliability,Approach,Instrument the software with a profiler,Map functions to components,Identify fault(s)location(s)for each test case that failed,Search the bug tracking database,Searchtest logs&source co

20、de change logs,Execute tests on multiple releases,Get test cases that failed,Software reliability model,Search CVS,比较硬件和软件故障,硬件设计看作是低于软件设计复杂。对于硬件的传统浴形曲线是合适的。软件可以完美复制,而硬件制造过程中可能引入的缺点。,软件可靠性,随着软件,可靠性不随时间改变。假设所陈述的情况保持不变,用软件是不受锈蚀,腐蚀,或任何与通常计算大大简化。随着硬件的情况是不同的。软件可靠性可能会波动,因为它是在测试和修改和调试。硬件可靠性通常在它的工作寿命如传统浴形曲线。,Thank You!,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号