当前位置:文档之家› Ch05软件可靠性度量

Ch05软件可靠性度量

第5章
软件可靠性度量
2021/3/4
1
§5.1 引言
5.1.1 软件可靠性工程及软件可靠性
软件可靠性工程
应用统计技术,处理在软件开发过程中或 (和)运行期间所采集的失效数据,以便详细说 明并预计、估计和评价软件的可靠性
研究内容包括软件可靠性的基本概念和定义、 软件可靠性指标体系、可靠性建模、可靠性设计 技术、测试技术和管理技术等
失效(Failure):系统不能完成所需要的功能而
失败 失效是故障在软件运行时所产生的后果
失效 已纠正的缺陷
故障 缺陷
2021/3/4
6
软件质量度量与软件过 程有什么关系?
2021/3/4
7
失效与故障的区别
失效
故障
面向用户
面向开发者
软件运行偏离用户需求
程序执行输出错误结果
可根据对用户应用的严重性等级分类 可根据定位和排除故障的难度分类
2021/3/4
3
软件可靠性
可靠性是软件的13个质量因素中最关键、最重 要的
软件可靠性是指在规定时间和条件下软件无故 障运行的概率,是系统功能或软件产品中存在 的缺陷的函数
软件故障产生的原因是软件缺陷,但缺陷并不 一定导致故障的产生,高缺陷率的软件的可靠 性不一定就差
软件失效意味着软件运行中断或者无法完成所 规定的任务
14
Weibull分布
Weibull是更常用的分布,在许多工程领域的可靠性分析中都广泛应用, 如轴承磨损、河流泛滥等
Weibull分布有两个参数α、β(β为1时变为指数函数)
函数密度为:
f (t)
t
e
t
t
分布函数为:
F
(t)
1
e
t
0, 0
故障率函数为:
(t )
t
t
2021/3/4
15
Weibull分布
β=1时变为指数分布 β=2时为Rayleigh分布
研究表明,软件项目的生命周
β<1
期模式、项目的缺陷移除模式
等都很好地符合Rayleigh模型
β>1
β=1
t
2021/3/4
16
§5.3 软件可靠性数据收集过程
数据收集和分析是度量软件可靠性的最重要的 先决条件,任何可靠性度量的有效性都与数据收 集的有效性直接相关,数据收集过程必须有计划、 有组织地进行
2021/3/4
2
软件可靠性工程处理以下问题:
确定某过程能否提供满足可靠性要求的代码 为过程改进提供度量 预测软件维护阶段的失效率,确定软件维护工作量 帮助进行安全性认证 确定交付软件产品的时间或停止测试的时机 估计下次故障的可能时间 为软件更新或升级,标识需要重新设计的主要部件 测定软件的可靠性
2021/3/4
9
软件失效率
如果没有缺陷,软件失效率为0 如果发现的缺陷能被及时、完全修复,失效率会趋向0 实际上,发现的缺陷数会递增,而纠正一个缺陷会引入更多
的缺陷,因而失效率会增加

硬件


软件(实际)
2021/3/4
软件(理想)
时间
10
§5.2 软件可靠性度量和建模
5.2.1 基本概念
软件可靠性建模过程是根据软件过去的故障行为建立 软件可靠性数学模型的过程 建模的目的是为了预计软件将来的故障行为 建模过程包括以下步骤:
① 通过度量获得历史数据 ② 对故障数据进行分析,拟合成概率分布函数 ③ 对拟合函数进行参数分析 ④ 确定所期望的可靠性度量值并预测可能的故障行为
2021/3/4
11
2021/3/4
5
5.1.2 软件的缺陷、故障和失效
缺陷(Error,错误):设计和构造进产品
总数是不可预知的,只能估计 缺陷分为已知和未知(新发现)的 缺陷分为已发现的和未发现的 已发现的缺陷包括已纠正的和未纠正的
故障(Fault):运行结果错误
故障是缺陷的表现形式,是由存在的缺陷产生的 但缺陷并不一定导致故障,或者条件不具备,或者 不会产生故障
与软件可靠性相关的数据包括:
5.2.2 软件可靠性度量参数
软件可靠性R(t)可定义为:在给定条件下,在时间[0,t]内,软时间间隔,F(t)为T的累积分布函数,则软 件可靠性可表示为:
R(t)=1-F(t) t≥0
故障率函数λ(t)为:
(t) lim R(t) R(t t) f (t)
dt
密度函数f(t)、累积分布函数F(t)、可靠性函数R(t)和故障率函数λ(t)紧密相 关,一般可由任一个惟一地确定另外三个,例如若λ(t)给定,则:
t
R(t) exp 0 (s)ds
t
f (t) (t) exp 0 (s)ds
根据f(t)或R(t)可计算平均失效时间函数MTTF,从而预测故障时间
如,3次失效/1000 CPU小时
如,6个故障/1KLOC
2021/3/4
8
5.1.3 软件失效
软件失效是随机发生的
描述失效的方法有三个:
累计失效函数:即与某时间点相关的平均累计 失效数
失效率函数:用累计失效函数的变化率表示
平均失效时间MTTF函数:对于一个时间段,表 示若干相邻失效时间间隔的平均值;对某个时 间点,表示到下次失效的期望时间
MTTF 0 tf (t)dt 0 R(t)dt
2021/3/4
13
5.2.3 软件可靠性度量模型
指数分布
密度函数为
f
(t
)
e1
t
分布函数为
t
F (t) 1 e
故障率函数为
(t) 1
(常数)
具有指数寿命分布的软件产品(故障率为常数)没有老化现象,符合 不需要维护的软件的运行情况
2021/3/4
2021/3/4
4
几个值得关注的问题:
软件的运行环境:软件可靠性与运行环境密 切相关
软件运行的时间间隔:商业软件需要较高的 运行时间间隔(较长的运行寿命),而任务 关键软件则需要在短时间内高效运行
软件失效的时机是随机的,与硬件失效类似
不同于软件的正确性,对于持续运行的软件 其可靠性最终将归于零(以失效结束);但 正确性是软件的特定的某次运行结果,要么 为1,要么为0
t0 tR(t)
R(t)
其中,f(t)为F(t)的函数密度,即: f (t) d F (t) dt
2021/3/4
12
λ(t)Δt是在时间[0,t]内软件正常运行,在[t,t+Δt]内发生故障的条件概率,
可得:
(t) f (t) d [ ln(1 f (t)] d [ ln R(t)]
1 F (t) dt
相关主题