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 效用以及对可靠性模型的影响,为研究和
   177   178   179   180   181   182   183   184   185   186   187