软件可靠性基本概念
https://www.kekaoxing.com/club/viewthread.php?tid=233&extra=page%3D1
1.软件可靠性定义
软件可靠性定义:在规定条件下,在规定的 时间内软件不引起系统失效的概率。该概率 是系统输入和系统使用的函数,也是软件中 存在的缺陷的函数。系统输入将确定是否会 遇到已存在的缺陷(如果有缺陷存在的话)。
规定的条件是指:
①软件运行的软、硬件环境:软件环境包括运行的操作系统、应用程序、编译系统、数据库系统等;硬件环境包括计
算机的CPU、 CACHE、MEMORY、I/O等;
②软件操作剖面:通常是指软件运行的输入空间及其概率分布。
软件的输入空间是指软件所有可能的输入值构成的空间。按照欧空局标准的定义,软件的操作剖面是指“对系统
使用条件的定义。即系统的输入值用其按时间的分布或按它们在可能输入范围内的出现概率的分布来定义”。
规定的时间一般可分为执行时间、日历时间和时钟时间。执行时间(execution time)是指执行一个程序所用的实际时
间或中央处理器时间;或者是程序处于执行过程中的一段时间。日历时间(calendar time)指的是编年时间,包括计算
机可能未运行的时间。时钟时间(clock time)是指从程序执行开始到程序执行完毕所经过的钟表时间,该时间包括了
其他程序运行的时间。大多数的软件可靠性模型是针对执行时间建立的,因为真正激励软件发生失效的是CPU时间。
规定功能是指“为提供给定的服务,产品所必须具备的功能”。
2.软件可靠性相关的基本概念
2.1.软件可靠性方面的基本术语和概念
(1) 软件中的失误、缺陷、故障和失效
软件可靠性文献中常用失误、缺陷、故障和
失效来描述故障的因果关系。软件作为一个
整体,其故障的因果关系见图1。
失误(mistake):可能产生非希望结果的人的行为。
缺陷(defect):代码中引起一个或一个以上故障
或失效的错误的编码,软件缺陷是程序固有的。
故障(fault):在软件执行过程中,缺陷在一定条件下导致软件出现的错误状态,这种错误的状态如果未被屏蔽,则会
发生软件失效。
失效(failure):程序操作背离了程序需求
(3) 软件失效的原因
内在原因都是在软件开发过程中形成且未被排除的潜在缺陷,如有缺陷的、遗漏的或多余的指令或指令集,这些缺陷
的来源可能是软件开发者的失误,也可能是恶意逻辑
外在原因都是软件外部给软件提供的各种非期望的条件,一种是客观存在于软件外部的系统中的环境异常,另一种是
软件运行过程中人员造成的,可能是操作人员的失误,也可能是有人恶意的侵袭,见图3。
对于图3所示恶意逻辑和故意侵袭的防范
是软件保密性(security)工程的任务。其他软
件失效原因都是软件可靠性工程应予以考虑的,
特别是内在原因中的偶然失误。
(4) 软件失效的规律性
软件内部故障的出现时刻T是随机的。对于无
容错的软件,出现故障就会失效,故障率即为
失效率。如果软件内潜在N个缺陷,第i个缺陷引
起的故障出现概率为 ,设各缺陷之间相互独
立,则整个软件的可靠度,即在规定的条件下
在规定的时间t内程序不出错地运行的概率为
(2)软件可靠性分析
指与软件可靠性有关的分析活动和技术。例
如:可靠性需求分析、可靠性指标分配、故
障树分析、失效模式和影响分析、软件开发
过程中有关软件可靠性的特性分析等。
(3)软件可靠性设计
为满足软件可靠性要求而采用的设计活动和
技术。例如:防错设计、容错设计、检错设
计、纠错设计、故障恢复设计等。
理多,请下载附件查看。。。。。。