Page 183 - 《软件学报》2020年第9期
P. 183
2804 Journal of Software 软件学报 Vol.31, No.9, September 2020
选择 FDR 提供了有重要借鉴意义的参考.
本文第 1 节对以 SRGM 为核心的可靠性进行概要介绍,引出故障检测率 FDR.第 2 节从可靠性模型构建视
角给出 FDR 的定义,从多个角度阐释其功用.第 3 节重点剖析 FDR 与失效强度、风险率/冒险率的区别与联系.
第 4 节给出分类视角下的 FDR 构成.第 5 节重点对 FDR 性能及其对 SRGM 的影响进行分析,提出不完美排错
框架模型,通过数值分析研究模型的差异性.最后指出后续研究的趋势与需要解决的问题,并给出结论.
1 软件可靠性增长模型建模——本质、功用与流程
软件开发过程中具有大量复杂的随机性与不确定性,随着研究人员对测试过程的不断深入认识,SRGM 的
研究持续至今.SRGM 具备描述测试过程中失效发生、故障检测和修复等动态特征,其刻画了软件的一种故障
行为.由于 SRGM 建立了故障失效个数与可靠性间的数学关联模型,因此,利用 SRGM 就可以计算特定时刻与可
靠性紧密相关的参数指标,包括失效个数、失效率、失效间隔以及可靠性等;进而,可以对测试资源进行动态的
调配,预测当前测试环境下软件达到预期目标(例如可靠性)时所需要的时间(被称为发布时间)、成本(被称为发
布成本)等重要信息.
在研究内容上,从突破早期完美排错的限制,到仅考虑到新故障引入的研究,以及考虑测试工作量或测试覆
盖率的 NHPP 类软件可靠性建模框架的研究,再到涵盖不完全排错与新故障引入等各类不完美排错的研究,进
一步拓展至变动点问题、测试资源分配问题、最优发布问题等,越来越多的可靠性模型得以建立.在求解方法
与技术上,从建立单一微分方程(组)的简单或复杂的解析式方法,扩展到非解析式方法、排队论技术和最优化方
法,进而采用离散事件仿真与非参量求解方法等,这些正在推动软件可靠性研究不断走向深入.图 1 对 SRGM 的
建模与功用进行了展示.
基于对测试过程的
认知,提出假设条件
① 测试资源分配与管控
建模 ② 测试工作量及软件成本构成 软件全部成本模型 C(T)
建立
建立基于微分方程的数学模型 1 2 决策 3
优化
科研人员
或开发人员 求解 获得失效率λ(t),MTTF/ 软件最优发布策略
获得累积检测故障数量 m(t)、 /MTBF 等可靠性相关指标
累积修复故障数量 c(t)、剩余
故障数量等基本变量
Fig.1 Modeling essence and function of SRGM
图 1 软件可靠性增长模型的建模本质与功用
若 SRGM 将软件测试过程视为若干个随机过程的统一,失效发生后,测试工作量 TE 被定量地消耗用以进
行故障的检测、隔离、排除等.随着测试的不断进行,软件中的故障不断减少,从而软件可靠性得到不断的增长.
软件可靠性能够通过软件可靠性增长模型 SRGM 进行有效度量与预测.目前,SRGM 得到了快速的发展,现已被
广泛应用,成为定量评估软件可靠性的数学工具.图 2 对 SRGM 的建模流程进行了归纳.
在代表 NHPP(non-homogeneous Poisson process,即非齐次泊松过程)类 SRGM 研究起源的经典 G-O 模型 [8]
中,Goel L 与 Okumoto K 建立了类似于下面的微分方程:
d( )mt
= λ ()t = b ()( ( )t a t − m ())t (1)
dt
该微分方程具有更一般性,其假设认为,t 时刻累积检测的故障数量 dm(t)/dt 与此刻软件中剩余的故障数量
(a(t)−m(t))成正比例,比例系数 b(t)为该时刻的故障检测率 FDR(fault detection rate).显然,当 b(t)=b,a(t)=a 时,公式
(1)转化为 G-O 模型,该模型虽忽视了故障修复与新故障引入情况,但却成为日后研究连续性 NHPP 类 SRGM 中
共同被遵守的事实.这其中,FDR 的表现形式是 b(t),从宏观上对故障检测能力进行描述,但并未指出支撑故障检