软件可靠性工程学综述

更新时间:2023-08-25 10:36:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第36卷第2期2009年2月

计算机科学

Computer

Science

V01.36No.2Feb.2009

软件可靠性工程学综述

郑艳艳1

(武汉大学软件工程国家重点实验室

郭伟2徐仁佐1

(武汉大学计算机学院

武汉430072)2

武汉430072)1

摘要软件可靠性工程学定量评价软件系统的可靠性,是开发并维护软件系统的一种工程学技术。回顾了软件可靠性工程学的历史、目前的趋势以及现存的问题和困难。提出了软件可靠性工程学中未来可能的方向和有前景的研究课题。

关键词软件可靠性工程学,容错,建模,数据收集,度量,测试

OverviewofSoftwareReliabilityEngineering

ZHENGYan-yanl

(StateKeyLabofSoftware

(Schoolof

GUOWei2

XURen—ZU01

Engineering,WuhanUniversity,Wuhan430072,China)1

Computer,WuhanUniversity,Wuhan430072,Clhina)2

Abstractsystems

current

Software

reliabilityengineeringisfocused

can

on

engineeringtechniques

reviewed

fordevelopingandmaintainingsoftware

whosereliabilitybequantitatively

evaluated.We

thehistoryofsoftwarereliabilityengineering,the

trendsandexistingproblems,and

specificdifficulties.Possiblefuturedirectionsandpromisingresearchsubjects

in

softwarereliabilityengineeringwerealsoaddressed.

Keywords

Software

reliabilityengineering,Faulttolerant,Modeling,Datacollecting,Metric,Testing

引言

早在上世纪60年代,就有人提出了“软件危机”,而软件

件可靠性建模等方面做了有益的探索,并开发了软件可靠性专家系统SRES[…。黄锡滋、蔡开元、何国伟等在软件可靠性理论和工程实践等方面也做了研究,包括软件可靠性分配、软件可靠性管理、软件可靠性模型应用选择、软件可靠性测试、软件可靠性度量体系等E”]。图1为软件可靠性工程过程概图。

确定可靠性目标

不可靠是造成软件危机的重要原因[1]。软件可靠性工程学为理解软件的可靠性,管理软件质最,保证商业产品竞争性优势给出了希望。但现今的软件可靠性工程学还没有真正达到我们所期望的目标[2]。

软件可靠性工程学的核心是软件可靠性。软件可靠性定义为:给定时间内、给定环境下软件无故障运行的概率b“]。软件可靠性对软件故障进行了量化,是软件质量中的主要因素。软件可靠性工程学(sRE)是对基于软件的系统操作行为的定量研究,且与用户的可靠性需求相关睁8|。

现有的SRE技术存在一些缺点,如故障数据的收集在时间上太迟;实验室内收集的故障数据不够精确;SRE技术或建模方法基于一些不现实的假设,使得结果过于乐观。虽然多个行业都有软件可靠性模型的成功实例,但对于现代软件系统,仍然迫切需要可信的软件可靠性技术。

在下面的章节中,我们将讨论软件可靠性工程学的过去、现在和将来。首先概述一些已有的技术和应用,然后介绍目前的趋势以及所关注的问题。最后,我们提出了软件可靠性工程学将来可能的方向。

开发操作剖面

执行软件蒯试

收集故障数据

继续测试满足可靠性目标吗?

采用软件可靠性工具

选择台适的软件可靠性模型

使用鞍件可靠性模型计算目前的可靠性

开始配置

验证领域中的可靠性

反馈给下次发布

图1软件可靠性工程过程概图

国外基于软件故障生命周期已经提出了若干技术来解决软件可靠性工程学问题。包括故障生命周期技术及软件可靠性和度量。文献E11]总结了故障生命周期的4种技术:错误预防;错误排除;错误容忍;错误/故障预测。软件可靠性建模的主要任务是错误/故障预测,即估计(度量目前状态)和预计

2历史上的软件可靠性工程学技术

国内软件可靠性研究始于上世纪80年代初,徐仁佐在软

到稿日期:2008—03—03

郑艳艳(1975一),女,博士研究生,研究方向为软件可靠性、软件-丁程,E-mail:zhengyy03@sho,,corn;郭伟(1966--),男,博士,高工.研究方向为软件工程、计算机网络;徐仁佐(1946一),男.教授,博士生导师,研究方向为软件可靠性、软件测试、软件工程等。 20

万方数据 

(评价将来状态)软件系统的可靠性。文献[12,13]叙述了对软件可靠性模型的历史回顾及模型应用的观点。

这里主要讨论软件容错技术和软件可靠性模型[】4。16]。容错是得到高可靠软件的主要方法之一。有两类错误容忍技术:单版本和多版本软件容错技术[17]。前者包括程序模块化、系统终止、原子行为、错误检测、意外处理、检查点和重启、过程对和数据多样性[183;后者称为设计多样性,由不同的程序团队使用不同的设计方法独立开发多个软件版本,但根据相同的需求说明,它们提供同样的服务。多版本软件方法的主要技术是恢复块、N一版本编程、N-自检编程和基于这3种基本技术的其他变种。

可靠性模型试图估计多版本中的相同故障的概率,Eck—hardt和Le919]提出了设计多样性错误关联的第一个可靠性模型,基于需求空间难度差异的假设,来观察版本故障问的积极关联。Littlewood和Miller[201提出,基于强制的设计多样性,可能存在消极的错误关联。Dugan和LyuE21]提出一个马尔可夫奖励模型,来比较由设计多样性方法得到的系统可靠性。Tomek和Trivedi[22]为软件容错提出了统计学奖励网络模型。Popov,Strigini等[23]基于需求空间的子域概念,估计了设计多样性故障概率的上下限。关于容错软件的详细总结和它的可靠性建模方法能够在文献[24]中找到。经过实验对模型的比较和估计结果列在文献[25,26]中。

3软件可靠性工程学的现状和问题

软件可靠性中的挑战不仅来自不同领域的软件应用程序的规模、复杂度、难度和新颖性,也与相关软件工程师的知识、培训、经验和特点有关[z7-31]。我们从软件可靠性工程学的某些角度讨论当前趋势和问题。3.1软件可靠性和系统可靠性

软件可靠性的理论基础来自硬件可靠性技术。通过采取与硬件类似的数学建模方法,能够建立软件可靠性框架。用故障率作为度量,可直接用于模型;综合硬件和软件可靠性,就形成系统可靠性模型度量形式统一;框图设计的系统可靠性模型直观,易于迅速识别可靠性关键构件部件。

但故障模式影响分析(FMEA)和故障模式影响关键性分析(FMECA)对硬件系统应用很好,对软件系统的认识还不充分。

3.2软件可靠性建模

SRGM几乎是所有的软件可靠性模型中最成功的,但它们的主要缺点包括:软件测试期问的观察可能不能直接扩展到操作使用中;收集到的故障数有限,可靠性预计未必准确;SRGM的某些假设不真实[32]。但这些问题可通过合适的方法来克服,比如收集数据时,满足模型假设,则可得到精确的可靠性估计。

添加影响软件质量的重要因子,能够进一步改善这些SRGM模型的预计精度。文献[33]提出了一种技术,将代码覆盖对可靠性影响结合进传统的软件可靠性模型中,使用时间和代码覆盖度量来预计可靠性。故障/错误数目和测试覆盖之间的关系,可由不同分布的模型来确定。文献[34]提出,这个关系是Rayleigh分布的变量。文献[35]说明,假设错误覆盖和测试覆盖遵循与执行时间相关的对数NHPP增长模型,那么它能够表示为对数一指数形式。如何将更多度量结合

万 

方数据进这类建模,有待进一步探索。

早期的软件可靠性预计模型,通常很不充分,可执行程度低,不够形式化而难以分析,且与目标系统无关。它们对可靠性预计的影响也十分有限。3.3软件可靠性度量

软件复杂度和软件质量与软件可靠性密切相关,软件可靠性模型也包括了复杂性度量,如初始的软件错误密度和故障率。

SRGM中与可靠性相关的两个度量是时间区间内的故障数和故障间隔时间。CPU时间比日历时间更合适且更精确,CPU时间能够如实地表示软件的实际执行时间[3“。软件可靠性建模已合并了测试效果的其他度量,以改善预计的精确程度[37

38]。

关键问题是对软件度茸的定义和解释不一致,迫切需要识别、描述、合并和理解统一的软件可靠性度量。3.4数据收集和分析

数据收集对软件可靠性度量的成功起关键作用。

基于错误的数据是静态的,可使用维护源代码的配置管理工具来收集。基于故障的数据很难收集。故障发生后,必须记录故障的出现时间。手工记录日历时间,会使建模不够精确;记录CPU时间,特别是在多个CPU并行地执行软件的分布式系统和网络环境中,很难收集。如果自动地收集数据,缺点是比较具有干扰性,如在线收集数据能够引起对测试中系统的中断。

另外,不同组织之问所需收集数据的数量和类型也各不相同,要根据SRE目的搜集类似的数据。

对领域故障数据的分析,有5步:1)数据预处理;2)数据分析;3)模型结构识别和参数估计;4)模型求解;5)模型分析。3.5方法和工具

除了软件可靠性增长建模外,SRE还有许多其他方法。接下来给出方法和工具的一些实例。

故障树提供了图形化和逻辑框架,系统地分析故障模式。故障树技术起源于硬件系统,扩展到软件系统,它能够为硬件/软件协同设计提供统一的建模方案。为硬件一软件交互的可靠性建模是目前一个研究热点[3“。

SRE仿真技术假设给定的环境代表了影响因素,仿真方法的结果就会代表实际软件环境中的结果[”]。仿真技术通过实验来分析软件故障和其他软件度量之间关系的本质。另一种可靠性模拟方法[13]产生与可靠性相关的行为和事件的时间轴模拟。

已经开发了不同的SRE度量工具来进行数据收集、可靠性分析、参数估计、模型的应用和可靠性估计。改进这些工具,也是对SRE的改进。需要提供工具和环境,支持开发人员建立可靠的软件。工具、环境和技术的划分,应该反映目前最好的SRE实践的合理应用。3.6测试效果和代码覆盖

软件测试是软件可靠性工程学中排除错误的典型机制,它已成为工业界中确保质量和改善可靠性的广泛实践。有人提出用代码覆盖指示软件测试的充分程度,它也广泛用于表示错误覆盖。

尽管代码覆盖和错误覆盖呈现出同时增长的现象,但这到底能够归结为代码覆盖和错误检测之间的因果依赖,还是

2】

两种度量的累计本质的巧合?在对此问题的研究中,进行了与蒙特卡罗模拟有关的实验,假设在代码覆盖和错误检测之间没有因果依赖[41|。发表的数据的测试结果支持在代码覆盖和错误覆盖之间无因果依赖。但许多研究人员将覆盖作为软件测试效果的可靠指标。3.7测试和操作剖面

操作剖面有助于确定测试时问,产生测试用例,选择测试运行。很多工业项目中能够见到采用操作剖面的好处的实例[42|。使用操作剖面来指导系统测试,确保了在终止测试和由于时间限制必须发布软件时,使用最多的操作受到的测试最多,可靠性最大。

存在的问题主要有:很难开发某些应用的操作剖面,特别是分布式软件系统,如Web服务;软件不能复制操作剖面来加速测试;单元测试时可使用操作剖面,而系统测试或回归测试时不适用。处理不正确的操作剖面和操作剖面间的依赖,是操作剖面技术中的两个主要问题。3.8工业实践和关心的内容

管理软件可靠性工程学有一些成功的例子,但并没有得到广泛的应用。工业中对SRE缺乏热情的主要原因是它的成本效益不明显。许多公司不愿意花太多精力收集故障数据,更不用说数据共享。因此,不能比较可靠性的结果,得不到基准可靠性,也难以积累过去的经验。大多数软件实践人员采用直接的方法和度量来控制产品可靠性。产品的可靠性属性优先级常常比功能性或创新性要低。产品发布时间很紧时,可靠性常常是第一个被压缩的元素。

系统体系结构框图的可靠性预计和FME(C)A已成功地用于硬件可靠性工程学技术,而仍不能直接用于软件可靠性工程学。如果软件构件可以被分解,或者能够清楚地识别构件之间的依赖,并正确建模,则这些硬件的普遍技术可以用于软件,并广泛应用于工业中。3.9软件体系结构

过去10年对软件体系结构的系统化研究非常活跃。在将来的10年,它将仍然是研究的中心[4…。软件体系结构设计不仅影响软件开发行为,也影响SRE的效果。不同软件块之间的依赖减少,这样它们的可靠性不会互相影响。设计软件体系结构主要考虑错误隔离。这些基于构件的软件开发方法需要不同的框架、质量保证模式[44]和从传统软件开发中得到的可靠性建模方法r4“。

新兴的软件体系结构包括跨平台的技术n引、开放世界软件‘4…、面向服务的体系结构‘鸺3和Web应用”]。虽然已有一些建模方法用来估计特定Web系统的可靠性r5…,但对一般Web服务和其它面向服务体系结构的SRE技术还需要做更多研究。

4未来的发展趋势

4.1软件体系结构和现成构件的可靠性

由于现代软件越来越多地开发并使用可重用的构件,软件开发的可靠性工程学主要集中于两点:软件体系结构和基于构件的软件工程学。

软件体系结构是最终软件产品的基础,设计和管理软件体系结构是软件可靠性工程学研究中的支配因素。清晰的、精心组织的体系结构必须事先考虑高内聚、低耦合、模块的分

22

万 

方数据离、适当的系统终止、简明的接口、避免复杂性等等,这些将最终有助于增加软件可靠性并减少操作和维护成本。

核心问题是设计故障恢复体系结构。设计必须确保软件执行时构件是分离的。构件故障一旦出现,就能被迅速识别并将其完全隔离。如何确保应用之间的分离,分离方法如何混合应用才能得到更好的可靠性结果,是将来研究的一个方向。

在设计故障恢复体系结构时,除了容忍构件故障之外,还常常结合额外的资源和技术,例如错误检测、诊断、隔离和恢复过程的错误处理机制。应避免额外的可靠性增长程序引入不必要的复杂性。执行恢复功能时,它们不应该有干扰性。设计简明、简单而有效的机制来执行错误检测和回复,是活跃的研究主题。

软件体系结构代表了软件系统的产品观点,而基于构件的软件工程学强调了软件工程学的过程观点。需要研究的问题有:怎么识别和设计可靠的、通用的可重用构件?如何修改现存构件,以便于重用?如何为构件提供清楚的接口设计,使得它们的交互完全在控制中?怎样给构件提供防御机制,保护构件,而不引起大的故障?怎样确定构件是否无风险?怎样在没有测试而可预见的操作条件下评价构件的可靠性?如果构件不是独立的,怎样对构件交互建模?基于构件的软件工程学也可以实现基于结构的可靠性,这有利于运行和测试软件前的可靠性设计。主要是需要适当地捕获构件问的依赖并对之建模。

4.2实现设计可靠性

可靠的系统设计需要的容错机制包括错误限制、错误检测、诊断、重新配置、恢复、重启、修理和重组。这些阶段挑战性的研究问题,如下所述:

1)错误限制。实现方式包括自检接受测试、意外处理例程、一致性检查机制和多请求/确认。关键是减少依赖。这已是且将仍然是软件可靠性工程学中的开放问题。

2)错误检测。有离线和在线错误检测。离线技术如诊断程序能够提供全面的错误检测,但系统在测试状态下不能工作。在线技术,如看门狗监控器或冗余配置,与任务并行执行,提供了实时的检测能力。

3)诊断。诊断提供故障位置和/或属性的信息。在线的故障预防诊断是目前的研究趋势。

4)重新配置。成功地重现配置要求健壮灵活的软件体系结构和相关的重新配置计划。

5)恢复。恢复技术基于错误掩盖、重试和回滚。错误掩盖利用冗余来掩盖故障的影响,如N版本编程。重试。即尝试第二次操作,可用恢复块重试。回滚,从检查点重新开始错误检测和操作,回滚必须足够远。N版本程序设计和恢复块体现了设计的多样性,这仍然是争论的热点。

6)重启。热启动能够从错误检测点处恢复所有操作。只在系统没有损害时,才可能热启动。暖启动中,只有某些过程能够被无损恢复;而在冷启动中,所有进程被杀死,执行的系统完全重载。

7)修理。有离线和在线修理。在线修理时,构件可以用后备备件立即替换,或没有错误构件(例如掩盖冗余或优雅降级)继续操作,系统操作不会被干扰;但实现完全和无缝的修理对研究人员来说提出了很大挑战。

8)重组。将修理了的模块重组合进系统。在线修理时,重组不能干扰系统操作。

能够进一步探索可靠性设计技术的4个领域是:错误预防、错误检测、掩盖冗余和动态冗余。非冗余系统不容忍错误,通常由错误预防获得可靠性。冗余系统一般使用错误检测、掩盖冗余和动态冗余,自动处理错误。软件容错设计主要考虑的是成本效益。产生的设计必须能够有效地提供更好的可靠性,同时不引入过多的成本,包括性能降低和复杂度升高的成本。

4.3可靠性估计评价测试

传统的软件测试和软件可靠性结合得不好,将来两者的结合会是重要的研究点。使用度量测试压缩因子,能够根据测试中估计的软件可靠性来预计领域中的软件可靠性。将与测试有关的其他因素结合进软件可靠性建模,也能够基于测试结果得到精确的量度。

最近研究了代码覆盖对错误检测的影响[51]。需要实验数据来评价代码覆盖,看它能否说明测试集的有效性。在不同的测试剖面下,代码覆盖对错误检测的影响不同。为有效地发现错误,白盒测试和黑盒测试应该相互校验,从而增加可靠性。

此外,不同的覆盖度量之间具有差异,应该去除掉冗余的度量。代码覆盖和其它度量的关系,能够指导选择和评价测试用例,并得到带有可预测的可靠性结果的系统化测试计划。

减d,N试集的规模是软件测试的关键目标。应该在不同的测试场景下,评价不同的测试度量,看它们在减小测试集的同时是否得到了相同的可靠性[s2|。如果能够定量确定测试用例的效果,在创建测试集合时就预计可靠性的增长,就能促进早期的可靠性预计和反馈控制。4.4可靠性预计的度量

多个组织之间,很难收集与系统故障有关的工业软件工程学的历史数据。在不同的项目和应用之间,收集度量数据是一个大问题。多个组织共同研究建立可信的可靠性分析过程,要定义:①考虑到域的灵敏性、可访问性、保密和效用,要收集哪些数据;②如何根据工具和技术来收集数据;③怎么使用现存的技术解释和分析数据。

除了工业数据收集,改善可靠性预计的新方法也是活跃的研究问题。例如,贝叶斯信任网络(BBN)从度量数据中提取丰富的信息,使用合理的概率统计基础,为研究软件工程学提供了~种有希望的方向[53]。对于评价软件系统的可靠性,发现预计软件缺陷方面的应用,预计软件可靠性和确定无法控制的项目[5“,软件度量是有力的工具。

将测试完整性或有效性的度量,如代码覆盖和传统的基于测试时问的度量结合进来,能够加强传统的可靠性模型。测试时问和覆盖两个维度之阎的依赖程度,是研究人员的一个开放问题。将时间和覆盖度量合并进新的可靠性模型来预计可靠性,会是有前景的方向。

目前度量和数据收集过程是单向、开环的,不能提供关于如何进展的反馈过程,这是一个缺点。传统的软件可靠性模型将度量(例如,故障密度或故障间隔时间)作为输入,产生可靠性的量作为输出。将来迫切需要是反向的:给定一个可靠性目标,可靠性过程(和产生的度量)会怎么样?通过提供这样的反馈,期望闭环过程能够为得到可预测的可靠性软件提

万 

方数据供信息,并对软件可靠性工程学有益。4.5新兴软件应用的可靠性

新兴的软件应用将为特定领域的可靠性工程学创造大量的机会。

服务业是软件中大量存在的关键产业。面向服务的设计也被应用于软件工程学领域。基于Web应用开发的未来趋势,如文献[56]中展示的那样,软件可靠性工程学对这项新兴的技术提出了巨大的挑战和机会。可靠的Web服务的设计和评价web服务的可靠性是新的和开放性的研究问题。无缝的Web服务组合是可靠性工程学的核心问题。也需要在Web服务可靠性度量领域中进行广泛的实验。

研究人员已提出将发布/订阅模式作为中间件平台的基础,中间件支持高度演化和动态构件联合的软件应用。文献[57]中介绍了基于中间件的软件工程学技术中的未来趋势。

开放系统的方法是软件应用中的另一个趋势。世界本质上是开放的,特别是在普适计算的背景下。应用覆盖了很宽范围的领域。在开放的世界中,环境不断地变化。软件必须适应变化,并动态地对变化作出反应。在执行时,系统能够发现这样的构件以及动态地将它绑定到应用上,因此软件必须展示出自组织能力。软件设计人员首先导出变更需求,区分优先次序并详细说明、设计、运行和测试,然后重新配置软件,这种传统的解决方法不再可行。为对软件演化做出快速的反应,我们需要更灵活和动态的可调节的可靠性工程学模式。

结束语本文回顾了软件可靠性工程学的历史、目前趋势和现存问题以及特有的困难。也着重叙述了软件可靠性工程学中将来可能的方向和有前景的研究问题。为了满足工业以及顾客的需要,我们展现了软件可靠性工程学目前的和将来可能的趋势。从软件体系结构、测试技术和软件故障表现机制等角度,我们建立了新的软件可靠性工程学模式,也提供了关于新兴的软件应用的一些想法。

参考文献

[1]蔡开元.软件可靠性工程基础[M].北京:清华大学出版社,1995[2]Lyu

MRSoftwareReliabilityEngineering:ARoadmap,Future

of

SoftwareEngineering//IEEE。2007.FutureofSoftwareEngi—

neering,2007.Digital

ObjectIdentifier10.1109/FOSE.2007.

24,F()SE’0723—25,May2007:153—170

[3]徐仁佐.广义软件可靠性工程学[M],北京:清华大学出版社,

2006

[4]王纬.软件工程与软件可靠性[J].质量与可靠性,2001(4):31—

34

Es]向宝坚.孙晓.软件可靠性T程展望[J].株洲工学院学报,1999,

13(6):42—44

[6]陈光字,黄锡滋.软件可靠性学科发展现状及展望口].电子科技

大学学报:社科版,2002,4(3):99—102

[7]王纬.软件可靠性工程发展现状口].装备质量,2000(5):52—56[8]黄锡滋.软件的可靠性与安全性[M].北京:科学出版社,1993

[9]徐仁佐.软件可靠性专家系统[M].北京:清华大学出版社,1996

Fio]刘云。赵纬.软件可靠性研究与进展[J].微机发展,2003,13(2):

12—15

[11]Bertolino八SoftwareTestingResearch:Achievements,Challen—

ges DreamsffBriandL,Wolf

A,eels.弘ture

of

SoftwareEngj—

neering2007.IEEE-CSPress,2007

[12]ChengJ,BellDAtLiuW.LearningBeliefNetworksfromData:

23

AnInformationTheoryBasedApproach}I

Proceedingsofthe

SixthInternationalConference

on

InformationandKnowledge

Management.LasVegas,1997:325—331[13]Lyu

RHandbookofSoftwareReliabilityEngineering.IEEEComputerSocietyPressandMcGraw-Hill。1996

[14]崔玉宝,曲凤娟.软件可靠性工程研究[J].科技情报开发与经

济.2006,16(6):224-226

[15]徐仁佐.软件可靠性模型及应用[M].北京:清华大学出版社,

1994

[16]党涛立,潘新祥,赵海涛.软件可靠性工程综述[J]-鱼雷技术,

2005,13(6):13—16

[17]Lyu

MR,CaixFault—Tolerant

Software∥Benjaminwah,ed

Encyclopediaon

Computer

ScienceandEngineering.Wiley,2007

[18]Torres-PomalesW.SoftwareFaultTolerance:ATutorial.TM-

2000—210616.Hampton,Virginia:NASALangleyResearchCen—ter,Oct.2000

[19]EckhardtDE,LeeLnATheoreticalBasisfortheAnalysisof

MuhiversionSoftware

Subject

toCoincident

Errors.IEEE

Transactions

on

SoftwareEngineering,1985,11(12):1511—1517

[20]Littlewood

B,MillernConceptualModelingofCoincidentFai—

lures

in

Muhiversion

Software.IEEETransactions

on

SoftwareEngineering,1989,15(12):1596-1614[21]DuganJB,LyuMRDependabilityModelingforFault—TolerantSoftware

and

Systems∥Lyu

R,ed.SoftwareFaultTole-

rance.New

York:Wiley,1995:109—138[22]TomekLA,TrivediKS.AnalysesUsingStochasticReward

Nets∥Lyu

R,ed.SoftwareFaultTolerance.NewYork:Wi—

Icy,1995:139—165

[23]PopovPT,StriginiL,MayJ,eta1.EstimatingBounds

on

the

ReliabilityofDiverseSystems.IEEETransactionson

Software

Engineering,2003,29(4):345—359

[24]LyuMR,CaiXFault—TolerantSoftware∥BenjaminWah,ed.

Encyclopedia

on

ComputerScienceandEngineering.Wiley,2007

[25]CaiX,LyuMR,Vouk

M八An

ExperimentalEvaluationon

ReliabilityFeaturesofN—VersionProgrammingf}Proceedings

16thInternationalSymposium

on

SOftwareReliabilityEnginee-

ring(ISSRE’2005).Chicago,Illinois。Nov.2005

[26]CaiX,LyuMRAnEmpiricalStudy

on

ReliabilityandFaultCorrelation

ModelsforDiverse

Software

Systemsl}Proceedings

15thInternational

Symposiumon

SoftwareReliabilityEnginee-

ring(ISsRE’2004).Saint—Malo,France,Nov.2004:125—136

[27]张亚明,王凌.软件可靠性工程管理[J].数量经济技术经济研

究,2003(12):117—121

[28]赞岳,毛晓光,王戟,等.一个集成的软件可靠性1=程环境[J].计

算机工程与科学,2007,29(7):116—118

[29]李明强,刘治德,马聪颖.机载武器系统软件的可靠性工程管理

[J].电子产品可靠性与环境试验,2001(6):13—16

[30]何国伟.软件可靠性[M].北京:国防工业出版社,1998

[31]陶克强,陶捷,王纬.软件可靠性工程的研究与发展方向[J].质

量与可靠性,1992(4):39—41

[32]ShoomanMLReliabilityofComputerSystemsandNetworks:

FaultTolerance,Analysisand

Design.NewYork:Wiley,2002

[33]ChenM,LyuMR,WongEEffectofCodeCoverage

on

Soft—

ware

Reliability/魄easurement.IEEE

Transactions

on

Reliabili—

ty,2001,50(2):165—170

[34]VoukM久UsingReliabilityModelsDuringTestingWithNon一 24

万 

方数据operationalProfilesf}Proceedingsof2幅Bellcore/PurdueWork—shop

on

Issues

in

SOftwareReliabilityEstimation.October

1992:103—1ll

[35]MalaiyaYK,LiN,BiemanJM,eta1.SoftwareReliability

GrowthwithTest

Coverage.IEEE

Transactions

on

Reliability,

2002,51(4):420—426

[36]MusaJD,IanninoA,OkumotoKSoftwareReliability:Meas—

urement,Prediction,Application.NewYork,NY:McGraw-

Hill,Inc.。1987

[37]Cai

X,LyuMRTheEffectofCodeCoverage

on

Fault

Detec—

tion

UnderDifferentTestingProfiles}}ICSE2005

Workshop

on

Advances

in

Model—Based

SoftwareTesting(A—MOST).St.

Louis,Missouri,May

2005

[38]HuangCY,LyuMR.OptimalReleaseTimefor

Software

Sys—

ternsConsideringCost,Testing-Effort,andTest

Efficiency.

IEEETransactions

on

Reliability,2005,54(4):583—591

[39]Teng

X,PhamH,JeskeD.ReliabilityModelingofHardware

and

SOftware

Interactions,andItsApplications.IEEETransac—

tions

on

Reliability,2006,55(4):571—577

[40]vonMayrhauserA,Chen13.EffectofFaultDistributionandEx—

ecution

Patterns

on

Fault

ExposureinSoftware:ASimulation

Study.SoftwareTesting,Verification&Reliability,2000,10(1):47-64

[41]BriandL,PfahlnUsingSimulationforAssessingtheRealIm-

pact

ofTestCoverage

on

Defect

Coverage.IEEETransactions

on

Reliability,2000,49(1):60-70

[42]MusaJD.Operational

Profilesin

Software

ReliabilityEnginee-

ring.IEEESoftware,1993。10(2):14—32

[43]TaylorR,vanderHoek~SoftwareDesignandArchitecture;

TheOnceandFutureFocus

o、SoftwareEngineering}{Briand

L,Wo“A,eds.FutureofSoftwareEngineering2007.IEEE-CS

Press,2007

[44]CaiX,LyuMR,WongKF.AGenericEnvironmentfor()(yrs

TestingandQualityPrediction∥BeydedaS,GruhnV,eds.Tes—

ting

Commercial—off-the-shelfComponents

andSystems.Berlin:

Springer-Verlag,2005:315—347

[45]YacoubS,CukieB,ArnrnarH.AScenario-basedReliabilityA—

nalysisApproachforComponent—basedSoftware.1EEETrail-

sactions

on

Reliability,2004,53(4):465—480

[46]BishopJ,HorspoolN.Cross—PlatformDevelopment:Software

ThatLasts.IEEE

Computer,October

2006:26—35

[47]BaresiL,NittoE,GhezziCTowardOpen—worldSoftware.I-

ssues

andChallenges.IEEEComputer,October

2006:36—43

[48]MargariaT,SteffenB.ServiceEngineering:LinkingBusiness

andIT.IEEE

Computer,October2006:45—55

[49]JazayeriMWebApplicationDevelopment:TheComingTrends

ffBriandL,WolfA,eds.Future

of

SoftwareEngineering2007.

IEEE—CSPress,2007

[50]WangW,TangM.User—OrientedReliabilityModelingfor

WebSystem}}Proceedingsofthe14thInternational

Symposium

on

Software

ReliabilityEngineering(ISSRE’03).Denver,Colo—

rado,November2003:1-12

[51]LyuMR,HuangZ,SzeS,eta1.AnEmpiricalStudy

on

Testing

andFaultToleranceforSoftwareReliabilityEngineeringff

Pro—

ceedings14thIEEEInternationalSymposium

on

SoftwareRelia—

bility

Engineering(ISSRE’2003).Denver,Colorado,November

2003:119—130

[523CaiX,LyuMILTheEffectofCodeCoverageon

FaultDetee—

tionUnderDifferentTestingProfiles//ICSE

2005

Workshop

on

Advances

i1"1

Model—Based

SoftwareTesting(A—M()sT).St.

Louis,Missouri,May

2005

[53]ChengJ,BellDA,LiuW.LearningBeliefNetworksfromData:

AnInformationTheoryBasedApproach}{Proceedingsofthe

SixthInternational

Conference

on

InformationandKnowledgeManagement.LasVegas,1997:325—331

[543AmasakiS.MizunoO.KikunoT.eta1.ABayesianBeliefNet—

(上接第4页)

性,其采用的方法包括:基于XML的、基于CA)RBA的等。目前我国正在开展的联网审计也是持续审计的一种方式,它在技术实现上属于分离式‘3¨。

图2持续审计技术实现方法研究的分类

根据以上分析可知,随着信息技术的发展,持续审计软件的研制与应用是审计软件的一个重要发展方向。

另外,目前对于持续审计实现技术和应用的研究较多,但缺少关于持续审计实施绩效评价方面的研究与应用。而研究持续审计实施绩效,有助于重新认识目前的持续审计政策和持续审计实现技术,有助于审计机关更有效地制定持续审计对策。因此,关于持续审计软件实施绩效评价方面的研究与应用也是审计软件研究与应用的一个重要发展方向。

参考文献

[1]

RobertLB.HaroldED.Computer-assistedaudittoolsandtech—niques:analysisand

perspectives[J].Managerial

AuditingJour—

nal,2003,18(9):725—731

[23INToSAlauditcommittee.Principlesofcomputerassistedaudittechniques-studentnotes,2004

[3]

JamesAH。SchallerC八Informationsystemsauditingand

as—

surance[M].Cincinnati,OH:South—Western

College

Pub-

lishing,2000

[4]6thASDSAIResearchProject

on

ITAudit

Guidelines.http://

wVMasosai.org.2003

[53

陈伟,张金城,QiuRobin.计算机辅助审计技术(CAATs)研究

综述.计算机科学口],2007,34(10):290—294

[63

WeidenmierML,HerronTLSelecting

an

auditsoftwarepack—

age

forclassroom

use[J].JournalofInformationSystems,2004,

18(1):95—110

[7]

JacksonRAGetthemostout

ofaudit

tools[J].Internal

Audi—

tot,2004(8):36—47

http://www.caseware-idea.eomhttp://www.acL

corn

http://www.horwathsoftware.eomhttp://www.paisleyconsulting.corn

http://www.pwcglobal.tom

http://mvw.pentana.corn

万 

方数据workforPredictingResidualFaultsinSoftware

Products。}}Pro—

ceedingsof14thInternationalSymposium

on

SoftwareReliabili—

ty

Engineering(ISSRE2003).November2003:215—226

[553JazayeriMWebApplicationDevelopment:TheComingTrends

∥BriandL,wdfA,eds.FutureofSoftwareEngineering

2007.

IEEE—CSPress.2007

[561lssarnyV,CaporuseioM,GeorgantasN.APerspective

on

the

Futureof

Middleware-basedSoftwareEngineering.Briand

L,

WolfA,eds.FutureofSoftwareEngineering2007.IEEE-CS

Press.2007

[14]ChenWei,Wang

Hao,Zhu

Wenming.Study

on

data-orientedIT

auditusedin

China[A]|{ZhuQingsheng,ecLProceedingsofthe

11thJointInternationalComputerConference(JICC2005)[c].

Singapore:WorldScientificPublishing.2005:666—669

[15]国家863计划审计署课胚组.计算机审计数据采集与处理技术

研究报告[M].北京:清华大学出版社,2006

[16]中华人民共和国审计署《A0》研发项目组.现场审计实施系统实

用手册[M].北京:中国时代经济出版社,2005

[17]http://ytaudit.eom

[18]http://www.auditsoft.coin.c11

[19]http://ⅥM.tonsin.net

[20]http://www.auditen.corn[21]http://www.zperp.com[22]http://、】InⅣw.jinjiansoft.com

[23]陈伟,QiuRobin,刘思峰.一种基于数据匹配技术的审计证据获

取方法口].计算机科学,2008,35(8):183—187,194

[24]DuH,RoohaniSAframeworkforindependentcontinuous

au—

ditingoffinancial

statements[A]∥AmericanAccounting

Asso一‘

ciation

2006

Annual

Meeting[c].Washington,2006

[25]GroomerSM,MurthyUSContinuousauditingofdatabase

ap-

plications;an

embedded

auditmodule

approach[J].Journalof

InformationSystems,1989,3(2):53—69

[263DebreeenyRS,GrayGL,NgJ,eta1.Embeddedauditmodules

in

enterprise

resource

planningsystems:implementationand

functionality口].JournalofInformationSystems,2005,19(2):

7—27

[273

Vasarhelyi

MA,HalperF13.Thecontinuousauditofonline

systems[J].Auditing:AJournal

ofPracticeand

Theory,1991,

10(1):110—125

[28]WoodroofJ,SearcyD.Continuousaudit—Modeldevelopmentand

implementationwithin

debt

covenant

compliancedomain[J1.

InternationalJournalofAccountingInformationSystems,2001,2(3):169-191

[293

Rezaeez,SharbatoghlieA,ElamR,eta1.Continuousauditing:buildingautomatedauditing

capability[J].Auditing:A

Journal

ofPracticeandTheory,2002.21(1):147—163

[30]Murthy

US,GroomerS

MAcontinuous

auditingweb

services

modelforXML-based

accounting

systems[J].International

JournalofAccountingInformationSystems,2004,5(2):139—163

[31]ChenWei,ZhangJin—cheng,JiangYu-quamOne

continuous

au—

diting

practice

inChina:data-orientedonlineauditing(I)(_)()A)

[A]∥The

7thIFIP

InternationalConference

on

e-Business,e-

Services,ande-Society(13E2007)[C].Boston:Springer,2007:

521—528

25

软件可靠性工程学综述

作者:作者单位:刊名:英文刊名:年,卷(期):被引用次数:

郑艳艳, 郭伟, 徐仁佐, ZHENG Yan-yan, GUO Wei, XU Ren-zuo

郑艳艳,徐仁佐,ZHENG Yan-yan,XU Ren-zuo(武汉大学软件工程国家重点实验室,,武汉430072), 郭伟,GUO Wei(武汉大学计算机学院,武汉,430072)计算机科学

COMPUTER SCIENCE2009,36(2)1次

参考文献(56条)

1.蔡开元 软件可靠性工程基础 1995

2.Lyu M R Software Reliability Engineering:A Roadmap 20073.徐仁佐 广义软件可靠性工程学 20064.王纬 软件工程与软件可靠性 2001(04)5.向宝坚.孙晓 软件可靠性工程展望 1999(06)

6.陈光宇.黄锡滋 软件可靠性学科发展现状及展望[期刊论文]-电子科技大学学报(社会科学版) 2002(03)7.王纬 软件可靠性工程发展现状 2000(05)8.黄锡滋 软件的可靠性与安全性 19939.徐仁佐 软件可靠性专家系统 1996

10.刘云.赵纬 软件可靠性研究与进展[期刊论文]-微机发展 2003(02)

11.Bertolino A Software Testing Research:Achievements,Challenges,Dreams 2007

12.Cheng J.Bell D A.Liu W Learning Belief Networks from Data:An Information Theory Based Approach1997

13.Lyu M R Handbook of Software Reliability Engineering 2006

14.崔玉宝.曲凤娟 软件可靠性工程研究[期刊论文]-科技情报开发与经济 2006(06)15.徐仁佐 软件可靠性模型及应用 1994

16.党涛立.潘新祥.赵海涛 软件可靠性工程综述[期刊论文]-鱼雷技术 2005(06)17.Lyu M R.Cai X Fault-Tolerant Software 2007

18.Torres-Pomales W Software Fault Tolerance:A Tutorial[TM2000-210616] 2000

19.Eckhardt D E.Lee L D A Theoretical Basis for the Analysis of Multiversion Software Subject toCoincident Errors 1985(12)

20.Littlewood B.Miller D Conceptual Modeling of Coincident Failures in Muhiversion Software 1989(12)21.Dugan J B.Lyu M R Dependability Modeling for Fault-Tolerant Software and Systems 199522.Tomek L A.Trivedi K S Analyses Using Stochastic Reward Nets 1995

23.Popov P T.Strigini L.May J Estimating Bounds on the Reliability of Diverse Systems 2003(04)24.Lyu M R.Cai X Fault-Tolerant Software 2007

25.Cai X.Lyu M R.Vouk M A An Experimental Evaluation on Reliability Features of N-VersionProgramming 2005

26.Cai X.Lyu M R An Empirical Study on Reliability and Fault Correlation Models for Diverse SoftwareSystems 2004

27.张亚明.王凌 软件可靠性工程管理[期刊论文]-数量经济技术经济研究 2003(12)

28.赞岳.毛晓光.王戟 一个集成的软件可靠性工程环境[期刊论文]-计算机工程与科学 2007(07)

29.李明强.刘治德.马聪颖 机载武器系统软件的可靠性工程管理[期刊论文]-电子产品可靠性与环境试验 2001(06)30.何国伟 软件可靠性 1998

31.陶克强.陶捷.王纬 软件可靠性工程的研究与发展方向 1992(04)

32.Shooman M L Reliability of Computer Systems and Networks:Fault Tolerance,Analysis and Design 200233.Chen M.Lyu M R.Wong E Effect of Code Coverage on Software Reliability Measurement 2001(02)34.Vouk M A Using Reliability Models During Testing With Nonoperational Profiles 199235.Malaiya Y K.Li N.Bieman J M Software Reliability Growth with Test Coverage 2002(04)36.Musa J D.Iannino A.Okumoto K Software Reliability:Measurement,Prediction,Application 198737.Cai X.Lyu M R The Effect of Code Coverage on Fault Detection Under Different Testing Profiles2005

38.Huang C Y.Lyu M R Optimal Release Time for Software Systems Considering Cost,Testing-Effort,andTest Efficiency 2005(04)

39.Teng X.Pham H.Jeske D Reliability Modeling of Hardware and Software Interactions,and ItsApplications 2006(04)

40.yon Mayrhauser A.Chen D Effect of Fault Distribution and Execution Patterns on Fault Exposure inSoftware:A Simulation Study 2000(01)

41.Briand L.Pfahl D Using Simulation for Assessing the Real Impact of Test Coverage on DefectCoverage 2000(01)

42.Musa J D Operational Profiles in Software Reliability Engineering 1993(02)

43.Taylor R.van der Hock A Software Design and Architecture:The Once and Future Focus of SoftwareEngineering 2007

44.Cai X.Lyu M R.Wong K F A Generic Environment for COTS Testing and Quality Prediction 200545.Yacoub S.Cukie B.Ammar H A Scenario-based Reliability Analysis Approach for Component-basedSoftware 2004(04)

46.Bishop J.Horspool N Cross-Platform Development:Software That Lasts 2006

47.Baresi L.Nitto E.Ghezzi C Toward Open-World Software:Issues and Challenges 2006(10)48.Margaria T.Steffen B Service Engineering:Linking Business and IT 200649.Jazayeri M Web Application Development:The Coming Trends 2007

50.Wang W.Tang M User-Oriented Reliability Modeling for a Web System 2003

51.Lyu M R.Huang Z.Sze S An Empirical Study on Testing and Fault Tolerance for Software ReliabilityEngineering 2003

52.Cai X.Lyu M Ft The Effect of Code Coverage on Fault Detection Under Different Testing Profiles2006

53.Cheng J.Bell D A.Liu W Learning Belief Networks from Data:An Information Theory Based Approach1997

54.Amasaki S.Mizuno O.Kikuno T A Bayesian Belief Network for Predicting Residual Faults in Software

Products 2003

55.Jazayeri M Web Application Development:The Coming Trends 2007

56.lssarny V.Caporuscio M.Georgantas N A Perspective on the Future of Middleware-based SoftwareEngineering 2007

本文链接:http://www.77cn.com.cn/Periodical_jsjkx200902005.aspx

授权使用:上海交通大学(shjtdxip),授权号:22934c6e-f5d4-409b-a30c-9ec201696921

下载时间:2011年4月11日

本文来源:https://www.bwwdw.com/article/s5qi.html

Top