Page 182 - 《软件学报》2020年第9期
P. 182
张策 等:可靠性模型中故障检测率研究述评 2803
Abstract: FDR (fault detection rate), as the key element of reliability research, has great importance in constructing the test
environment, improving fault detection efficiency, and modeling and improving reliability. Meantime, it has important practical
significance for improving system reliability and determining release time. First, the software reliability growth model SRGM (software
reliability growth mode) based on NHPP (non-homogeneous poisson process) is summarized, and the essence, function, and process of
modeling are given. Second, based on this, FDR, the key parameter in reliability modeling and researching, is derived, and the definition
of it is given. The test environment description ability is analyzed and differences of different models are shown. Third, emphasis is
placed on the difference among FDR, failure strength, and hazard rate (risk rate), and then the correlation among the three is derived. Next,
the general model of FDR is comprehensively analyzed from three perspectives of test coverage function, FDR set directly, and FDR
constituted by testing effort function. Then a unified FDR-related reliability model is proposed. Considering the ability to describe the real
test environment, the imperfect debugging framework model is established, and the reliability growth model of multiple different FDRs
under imperfect debugging is derived. Further, experiments are carried out on 12 publicly available failure data sets describing real
application scenarios to verify the effectiveness of reliability models related to different FDR models, and to analyze and discuss the
differences. The results show that the performance of the FDR model can support the performance improvement of the reliability model.
Finally, the trend of researches and the problems to be solved are pointed out.
Key words: reliability; fault detection rate; test coverage; imperfect debugging; effectiveness analysis
软件作为人工制品,是多类型软件开发人员协同完成的系统.由于软件是对物理系统和过程的计算机编程
语言描述,因此其实际功能与预期成效很可能存在不一致之处.例如,软件自身隐藏的错误(error)在特定情况下
可能会导致故障(fault),而故障可能会导致失效(failure):软件的缺陷(defect 可能是设计或编码时引入)在运行时
会产生错误,当错误或故障积累到一定数量,或者达到某种条件时都会造成软件系统的失效.因此,软件的质量
问题至关重要,尤其是可靠性问题,长久以来一直得到研究人员的关注.
可靠性作为软件的非功能质量属性,其可以通过软件可靠性增长测试这一重要途径来不断获得提高.软件
测试过程中,基于故障不断被检测并修复进而使得软件可靠性持续获得增长的事实,为可靠性研究提供了有效
的切入点.软件可靠性增长模型 SRGM(software reliability growth model) [1,2] 从软件失效的角度进行可靠性的建
模,采用以微分方程(组)为主的数学手段建立软件测试过程中的若干个随机参量(例如测试时间、累积检测的失
效或修复故障个数、测试工作量 TE(testing-effort)等参量)之间的定量函数模型.基于求解获得的累积检测故障
数量函数表达式(通常以 m(t)作为标记),可以获得测试阶段的可靠性.因此,建立能够准确地描述真实随机测试
过程的累积检测故障数量函数 m(t)成为了 SRGM 研究的关键.目前,SRGM 已成为度量、预测与管控成本支出
下可靠性的重要技术 [3,4] ,是管控可靠性与系统发布的常见工具.文献[5]即阐述了一种基于当前软件调试工作
流的特征进行可靠性增长分析的方法 DWA-SRGM,其可指出影响产品评估的因素与瓶颈,从而支持流程改进
决策.
而在整个可靠性的研究中,故障检测率 FDR(fault detection rate)作为累积检测故障数量的主要影响因素,是
建立可靠性增长模型的关键要素,因此,其是提高可靠性所需考察的重要问题.经过多年发展,FDR 以及其支持
的可靠性研究取得了重要进展.目前,国内外尚没有对 FDR 进行全面述评的综合性分析文章.本文在作者前期大
量工作 [1,2,6,7] 的基础上,基于国内外研究情况进行悉心梳理,从问题起源与功用、相关区别与联系、综合分类讨
论、不完美排错下模型性能差异性分析等视角对 FDR 进行了全面述评,并进行了大量的实验验证,进而给出后
续研究趋势和需要解决的问题,以期为研究人员提供有价值的参考与借鉴,促进可靠性研究取得新进展.
本文的贡献着重体现在对如下 4 个问题进行了深入回答.
(1) 对 FDR 进行了全面深入的研究性论述,对 FDR 在可靠性研究中的功能、地位、作用和成效进行了深
刻阐述,这在当前可靠性研究中尚属首次;
(2) 厘清了 FDR 与失效强度、风险率/冒险率的区别与联系,从数学角度提出并证明了 FDR 与测试覆盖
函数关系的重要定理;
(3) 拓展了 FDR 的研究内涵,提出了典型的不完美排错环境下 FDR 相关的软件可靠性框架模型;
(4) 通过在大量的真实应用场景上的综合实验,深入分析了 FDR 效用以及对可靠性模型的影响,为研究和