软件可靠性技术发展与趋势分析

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

软件可靠性技术发展与趋势分析

软件可靠性技术发展及趋势分析

1引言

1)概念

软件可靠性指软件在规定的条件下、规定的时间内完成规定的功能的能力。

安全性是指避免危险条件发生,保证己方人员、设施、财产、环境等免于遭受灾难事故或重大损失。安全性指的是系统安全性。一个单独的软件本身并不存在安全性问题。只有当软件与硬件相互作用可能导致人员的生命危险、或系统崩溃、或造成不可接受的资源损失时,才涉及到软件安全性问题。由于操作人员的错误、硬件故障、接口问题、软件错误或系统设计缺陷等很多原因都可能影响系统整体功能的执行,导致系统进入危险的状态,故系统安全性工作自顶至下涉及到系统的各个层次和各个环节,而软件安全性工作是系统安全性工作中的关键环节之一。

因此,软件可靠性技术解决的是如何减少软件失效的问题,而软件安全性解决的是如何避免或减少与软件相关的危险条件的发生。二者涉及的范畴有交又,但不完全相同。软件产生失效的前提是软件存在设计缺陷,但只有外部输入导致软件执行到有缺陷的路径时才会产生失效。因此,软件可靠性关注全部与软件失效相关的设计缺陷,以及导致缺陷发生的外部条件。由于只有部分软件失效可能导致系统进

失达5亿美元。1999年大力神4B运载火箭由于软件问题飞行9秒后偏离航向,造成卫星未进入预定轨道。

不断发生的软件失效和事故使人们逐渐认识到:在系统复杂性较高的情况下,常规的软件工程方法和软件评测手段并不能解决软件可靠性与安全性设计深层次的问题。软件系统的安全性需要通过专业技术予以保证。实际工程中对软件可靠性安全性的迫切需求直接促进了软件可靠性安全性技术的发展。通过不断的研究实践和工程积累,逐步形成理论,并进一步指导实际软件研制。

2 软件可靠性安全性技术应用与管理趋势

1)技术应用趋势

软硬件复合系统设计时更加注重系统层次上的可靠性与安全性的综合分析和设计,在软件可靠性分析、设计、测试、验证方面有下述趋势:

(1)更加注重软件可靠性与安全性分析和设计的系统性。

主要表现在以下两方面:

A)分析的范围进一步扩展,在原有分析的基础上加强系统级的分析与设计,更注重软件与其外部运行环境之间相互作用的分析; B)注重对软件运行异常环境的分析以及异常情况下软件处理功能的分析与设计:包括硬件异常状态、时序和软硬件异常交互的分析,

软硬件综合容错分析与设计、软件降级分析与设计等。

美国麻省理工学院系统与软件安全性项目组人员经过对大量的与软件相关的事故进行统计分析发现,几乎所有与软件相关的事故都涉及到软件需求问题。而且,软件作为一种逻辑产品,其失效模式与硬件失效模式不同。很多事故发生时,操作人员操作正确,硬件也未出现故障,从软件工程的角度看,软件的表现符合“软件需求规格说明”,也没有失效。导致故障的原因在于,软件与外部运行环境之间出现一种超出设计人员设想的相互作用方式,也就是说与软件相关的大部分系统失效是由于软件对外部输入处理及其相关时序的设计遗漏造成,而非软件失效造成。为此,NASA定义了一种软件交互失效模式,并规定全部的安全性关键软件和任务关键软件均需在系统、功能等顶层设计加强软件与外部环境的交互动态分析

在缺少软硬件容错设计的情况下,软件的输入错误必然导致软件的输出错误。由于许多实时嵌入式系统的输入来自于外部的硬件或软件,硬件故障或外部的干扰很可能造成外部环境的变化或输入信号时序、幅度的变化,也可能产生输入信号错误,为避免由于这种原因造成的软件失效,必须在软件研制前期进行深入、细致的分析,并采取针对性的设计措施

(2)强调量化风险控制,注重对研制的软硬件复合系统的概率风险进行评估。

1986年挑战者号失事后。挑战者事故调查委员会批评NASA未能

估计出每个组件失效的风险传统的安全性定性分析方法不足以预计或削弱全部的安全性风险,有关学者建议概率风险评价方法应尽可能早的应用于飞机的风险管理程序。早期的概率风险评价研究与试点工作由专业研究人员进行。1995年4月,NASA在NFG 7120.5A《NASA 程序和项目管理过程与要求》中规定,概率风险分析应作为保证程序和技术成功的一种决策工具,要求程序与项目管理决策必须在概率风险排序的基础上进行。2002年11月,NASA在NFG 7120.5B规定NASA 独立验证与确认机构负责全部的安全性关键软件和任务关键软件全生命周期各阶段产品的独立确认与验证工作,包括软件可靠性与安全性的分析,测试与验证,以及软件概率风险危险分析与评价工作。

概率风险分析是系统应用可靠性和安全性等相关技术的一种综合分析方法,包括对软件可靠性和安全性的量化分析与评价,其目的是识别与评价为保证安全性和任务完成所需采取的各种行动、措施的风险,为决策提供支持。首先,需使用定性分析方法,如初步危险分析PHA,危险与可运行性研究HAZOP,故障模式、影响及危害性分析FMECA,系统检查单,主逻辑框图等技术对软硬件组合系统进行分析,获得可能导致系统不期望状态发生的初始事件表。在定性方法不足以提供对失效、后果、事件的充分理解时使用定量的方法。然后,就系统、人、软件对初始事件的不同响应而导致的事件链的不同发展过程进行分析鉴别,生成系统的功能事件序列图。然后,分析各事件的发生概率(包括共因失效分析,人因分析以及软件各种失效分析等),用故障树和概率统计技术归纳各事件序列最终状态的发生概率,分析

各终结状态的严重度,结合状态发生概率与严重度,获得概率风险描述与风险排序

NASA使用概率风险分析技术进行风险管理,按照风险调整资源,使资源的占用与风险相匹配,在不增加风险的前提下,减少44%的资源占有率。火星采样返回项目Mars Sanple Retum Mission要求任务失效概率必须小于,NASA采用概率风险分析方法检验系统的可靠性,取得了很好的效果

概率风险分析技术的发展和应用过程表明,只有针对工程中的问题与需求,系统有效地运用相关的技术手段与工具,才能达到保证可靠性的目的,同时也促进相关技术的进一步发展。

(3)产品验证更加注重分析技术和测试技术的综合应用。

测试验证的不充分性与高成本决定了这一趋势的必然性。在系统的功能分析和设计阶段加强仿真验证与分析:对常规状态下的功能验证以实际测试验证为主,分析验证为辅;对异常状态下的功能验证以仿真验证为主,分析验证为辅;对软件小概率失效和软件危险失效则以分析验证为主,仿真验证为辅。

2)项目管理

软件研制管理更加科学、专业和规范,在软件项目管理方面有下述趋势:

(1)软件项目管理更加深入、系统与灵活,软件过程控制与软件

相关文档
最新文档