• 查询稿件
  • 获取最新论文
  • 知晓行业信息
官方微信 欢迎关注

铁路软件可靠性增长模型应用研究

李红辉, 赵森, 管军霖, 江周娴

李红辉, 赵森, 管军霖, 江周娴. 铁路软件可靠性增长模型应用研究[J]. 铁路计算机应用, 2021, 30(4): 50-55.
引用本文: 李红辉, 赵森, 管军霖, 江周娴. 铁路软件可靠性增长模型应用研究[J]. 铁路计算机应用, 2021, 30(4): 50-55.
LI Honghui, ZHAO Sen, GUAN Junlin, JIANG Zhouxian. Research on application of railway software reliability growth model[J]. Railway Computer Application, 2021, 30(4): 50-55.
Citation: LI Honghui, ZHAO Sen, GUAN Junlin, JIANG Zhouxian. Research on application of railway software reliability growth model[J]. Railway Computer Application, 2021, 30(4): 50-55.

铁路软件可靠性增长模型应用研究

基金项目: 神华集团科技创新项目(SHGF-17-56)
详细信息
    作者简介:

    李红辉,研究员

    赵 森,在读硕士研究生

  • 中图分类号: U298 : TP39

Research on application of railway software reliability growth model

  • 摘要: 分析G-O、Delayed S-shaped、Ohba-Chou及P-N-Z等4个软件可靠性增长模型的特点及适用场景,研究软件失效数据集的可靠性增长趋势分析方法和评价指标,提出一种可靠性增长模型参数计算的优化算法,在理论研究的基础上设计并实现了一款软件可靠性增长模型分析工具(SRGM Tool)。以铁路联锁软件记录的失效数据集为例,研究铁路软件可靠性增长模型应用方法,借助SRGM Tool,运用4种模型对铁路联锁软件进行可靠性评估,根据实验结果,分析并确定了一种适合该软件的可靠性增长模型,验证了方法的有效性,可为铁路软件可靠性分析和故障预测提供参考。
    Abstract: This paper analyzed the characteristics and applicable scenarios of four software reliability growth models (SRGM), such as G-O, Delayed S-shaped, Ohba- Chou and P-N-Z, studied the reliability growth trend analysis method and evaluation index of software failure data set, put forward an optimization algorithm of SRGM parameter calculation, designed and implemented a SRGM analysis tool (SRGM Tool) on the basis of theoretical research. Taking the failure data set recorded by railway interlocking software as an example, the paper studied the application method of railway SRGM, with the help of SRGM Tool, used four models to evaluate the reliability of railway interlocking software, and according to the experimental results, analyzed and determined a reliability growth model suitable for the software, which verified the effectiveness of the method, and could provide reference for reliability analysis and fault prediction of railway software.
  • 列车在运营过程中高度依赖软件的可靠性,如果软件瘫痪甚至出现一个小故障,造成的后果可能都是灾难性的[1]。目前,我国列车主要采用按运行里程计划维护的策略,运营和维护费用较高[2],对于突发性或紧急事件的响应效果也比较差,严重时会造成重大经济损失和人员伤亡。

    软件可靠性增长模型(SRGM,Software Reliability Growth Model)用于软件可靠性的评估和预测[3]。利用SRGM对铁路软件进行可靠性预测,能提前预知故障的发生时间,不但能有效帮助铁路企业控制成本,还能更好地保证行车安全。目前,公开发表的SRGM有100多种,它们的基本假设条件不同、考虑的因素不同,适用性也不同,因此,用它们估测同一款软件,所得结果可能差异较大。选择或设计合适的评估模型、有效进行铁路软件可靠性评估是目前亟需研究的问题。

    邢颖[4]等人讨论了铁路软件可靠性测试关键技术及软件可靠性模型,但未针对铁路软件失效数据集进行实验。潘浪涛[5]建立了一个铁路自动售票系统的可靠性分析模型,总结了系统可靠性与系统模块失效概率之间的关系,但是,对模型的普适性未进行说明。廖亮[6]等人基于非齐次泊松过程(NHPP)对处于开发后期阶段的铁路信号计算机联锁软件进行可靠性评估,但未用NHPP模型与其它SRGM作对比。

    本文选取G-O模型、Delayed S-shaped模型、Ohba-Chou模型及P-N-Z模型[7]4个较经典的SRGM,分析它们的特点及适用场景,提出一种可靠性模型参数计算的优化算法,在此研究基础上开发了一款软件可靠性增长模型分析工具(SRGM Tool)。以铁路联锁软件为例,研究软件可靠性增长模型应用方法,确定了适合被测软件的可靠性增长模型,验证了方法的有效性。

    SRGM是在软件失效数据集的基础上,采用统计学方法,用数学方程式来表达软件错误数量与不同因素(时间、测试工作量、不完美排错及错误检测率等)之间的关系。一般而言,随着软件中错误的排除,软件中累计错误数量增长速度变慢,即软件的可靠性逐渐增强。SRGM是对软件可靠性增长趋势进行建模,该趋势可用随机变量分布描述,建模过程中提出基本假设,同时,引入与该趋势相关的参数。

    m(t)表示t时刻累计错误数量的函数,a(t)为软件总错误量,b(t)为错误检测率,t > 0。

    文中,假设所研究的模型均符合以下条件条件:累计检测到的错误数量变化率(dm(t)/dt)与当前错误检测率(b(t))条件下剩余的错误数量(a(t)-m(t))成正比,可用式(1)表示:

    $$ \frac{{\rm{d}}m\left(t\right)}{{\rm{d}}t}=b\left(t\right) [a\left(t\right)-m\left(t\right)] $$ (1)

    针对SRGM,假设发现错误,在排除错误时,如果错误可以完全被改正,且不会引入新的错误,称为完美排错;如果在排除一个错误时引起其它错误,则称为不完美排错。

    G-O模型的假设条件较理想化,在数学表达上较简单,假设总错误数量与错误检测率恒定,即:

    $$ a\left(t\right)=a $$ (2)
    $$ b\left(t\right)=b $$ (3)

    属于完美排错型。

    该模型考虑了延迟效应,开始时增长比较慢,然后增长迅速,直至到达峰值,所以其可靠性增长曲线是一个呈S型的曲线。假设总错误数量恒定,但错误检测率考虑延迟效应,函数表达为:

    $$ a\left(t\right)=a $$ (4)
    $$ b\left(t\right)=\frac{{b}^{2}t}{1+bt} $$ (5)

    同样属于完美排错类型。

    该模型在G-O模型的基础上改进,考虑排除错误时有可能引入新的错误,假设在排除错误时引入新错误的概率与 t 时刻检测到的错误数量成正比,比例系数为 r,且 r < 1,则 a(t)、b(t) 可表示为:

    $$ a\left(t\right)=\frac{a}{1-r}\left[1-r{e}^{-\left(1-r\right)bt)}\right] $$ (6)
    $$ b\left(t\right)=b $$ (7)

    考虑测试人员学习能力对失效过程的影响。a(t) 增加,意味着错误总数增加,排除错误过程不完善;错误包括已检测和排除的错误,以及在排除错误过程中引入的错误。b(t) 增长,意味着错误检测率增大,测试人员学习能力提升。设α为引入错误率参数,β为拐点因子,a(t)、b(t)可分别表示为:

    $$ a\left(t\right)=a(1+\alpha t) $$ (8)
    $$ b\left(t\right)=\frac{b}{1+\beta {e}^{-bt}} $$ (9)

    4种模型的对比分析见表1,从表中可以看出4种模型的差异,主要体现在a(t)和b(t)的不同,使得各模型的适用场景也不同。

    表  1  4种模型的对比
    模型G-ODelayed S-shapedOhba-ChouP-N-Z
    m(t)$ \mathrm{a}(1-{e}^{-bt}) $$\mathrm{a}\left(1-(1+\mathrm{b}\mathrm{t}){e}^{-bt}\right)$$\dfrac{N}{1-r}\left(1-{e}^{-\left(1-r\right)bt}\right)$$\dfrac{a\left[\left(1-{e}^{-bt}\right)\left(1-\dfrac{\alpha }{b}\right)+\alpha t\right]}{1+\beta {e}^{-bt} }$
    a(t)$ a $$ a $$ \dfrac{a}{1-r}\left[1-r{e}^{-\left(1-r\right)bt)}\right] $$ a(1+\alpha t) $
    b(t)$ b $$ \dfrac{{b}^{2}t}{1+bt} $$ b $$ \dfrac{b}{1+\beta {e}^{-bt}} $
    类型完美排错完美排错、S型不完美排错不完美排错、S型、凹型
    适用场景测试过程中改动较少测试过程中发现一定量的错误后才统一进行排错排错过程中会引入新的错误,但错误检测率恒定测试人员在测试过程中会不断学习
    下载: 导出CSV 
    | 显示表格

    本文采用拟合与预测效果相结合的方法衡量4个模型的优劣。

    拟合效果即拟合数据与真实数据的吻合程度,本文选取均方误差(MSE)和拟合优度(R-Square)两个指标进行评价。

    MSE可以反映模型拟合出的数据与真实数据的差距,计算公式为:

    $${E_{{\rm{MSE}}}} = \frac{1}{n}\sum\nolimits_{i = 1}^n {{{({y_i} - m\left( {{t_i}} \right))}^2}} $$ (10)

    式中,$ {E}_{\mathrm{M}\mathrm{S}\mathrm{E}} $为均方误差值,$ {y}_{i} $ 为真实失效数据,$ m\left({t}_{i}\right) $ 为拟合数据。$ {E}_{\mathrm{M}\mathrm{S}\mathrm{E}} $值越小,说明拟合数据与真实数据差距越小,拟合效果越好。

    与MSE相似,同样可以用于评估模型的拟合效果,计算公式为:

    $${E_{{\rm{R}} - {\rm{Square}}}} = 1 - \dfrac{{\displaystyle\sum\nolimits_{i = 1}^n {{{(m\left( {{t_i}} \right) - {y_i})}^2}} }}{{\displaystyle\sum\nolimits_{i = 1}^n {{{({y_i} - \bar y)}^2}} }}$$ (11)

    式中,$ {E}_{\mathrm{R}-\mathrm{S}\mathrm{q}\mathrm{u}\mathrm{a}\mathrm{r}\mathrm{e}} $为拟合优度值,$\bar y = \dfrac{1}{n}\displaystyle\sum\nolimits_{i = 1}^n {{y_i}}$$ m\left({t}_{i}\right) $$ {t}_{i} $ 时刻累计错误数量的拟合值,$ {y}_{i} $$ {t}_{i} $ 时刻累计错误数量的真实值。

    R-Square的值越接近1,说明拟合数据与真实数据越接近,拟合效果越好。

    相对误差(RE)[8]根据记录到的失效数据预测未来失效发生的趋势,从而评价模型的预测效果,可通过计算数据集中所有记录的RE值来表达,计算公式为:

    $$ {E}_{\mathrm{R}\mathrm{E}}=\frac{m\left({t}_{i}\right)-{y}_{i}}{{y}_{i}} $$ (12)

    式中,$ {E}_{\mathrm{R}\mathrm{E}} $为相对误差值,根据此值绘制模型的RE曲线,RE值越小,说明该模型的预测结果具有更小的误差,预测性能更好。

    软件失效数据集包含记录时间、累计错误数量等,可借助可视化方法对其可靠性增长趋势进行初步分析。常用的趋势分析方法包括图形法、拉普拉斯法、曲线图技术、数据建模技术等,不同失效数据分析技术具有各自的使用场合和优势。本文采用图形法和拉普拉斯法分析软件失效数据集的可靠性增长趋势,用可视化方法更方便地观测软件失效数据集的发展趋势,以便选择合适的可靠性模型。

    图形法比较直观,主要对软件运行时间、累计失效数等各种变量之间关系进行分析。

    横轴表示时间 $ {t}_{i} $

    纵轴表示累计错误数量 $ {m(t}_{i}) $,即 $ {t}_{i} $ 时累计故障数量。

    用描点法绘制折线图,若折线图呈现凸出状态,可以认为可靠性在增长,否则认为可靠性在下降。

    拉普拉斯法[9]是把软件失效数据集采集数据的时间划分成n个等长的单位时间,在第i个单位时间中记录到的错误数为n(i),拉普拉斯法表达式为:

    $$u\left( {\rm{k}} \right) = \dfrac{{\displaystyle\sum\nolimits_{i = 1}^k {\left( {i - 1} \right)} n\left( i \right) - \dfrac{{k - 1}}{2}\displaystyle\sum\nolimits_{i = 1}^k n \left( i \right)}}{{\sqrt {\dfrac{{{k^2} - 1}}{{12}}\displaystyle\sum\nolimits_{i = 1}^k n \left( i \right)} }}$$ (13)

    式中,$ u\left(\mathrm{k}\right) $ 为第 k 个记录的拉普拉斯因子, k=1, 2, ···, n,以时间顺序观察拉普拉斯因子值,若拉普拉斯因子值减小,说明失效强度降低,则软件可靠性逐渐增强。

    结合图形法和拉普拉斯法两种方法,可以得到软件失效数据集的可靠性增长趋势。

    计算SRGM中的参数(即ab$ r $$ \alpha $β),需要在软件失效数据集的数据上进行参数计算,将得到的参数值代入模型,计算出拟合数据,与软件失效数据集进行拟合。

    本文参数计算采用极大似然估计法,将软件失效数据集代入模型,给出参数值的初始化值和范围,通过设定的步长逐个枚举参数值,求MSE值,输出得到最优MSE值时的参数值。为减少计算时间,在实验过程中将范围和步长设置大一些,以快速获知参数的最优值所在的范围,然后逐步缩小范围和步长,计算出精确的参数值。

    在实验过程中发现,用软件失效数据集全部数据得到的模型参数,生成的拟合数据与真实值的误差较大。在几个软件失效数据集中进行大量实验,使用数据集的前一部分数据进行参数计算,后一部分数据用于验证,结果表明,使用部分数据进行参数计算和MSE值计算,所得的MSE值优于使用全部数据进行相关计算得到的MSE值。因此,改进了参数计算算法,使用前 in/2 < i <n)组数据计算参数值,得到更优的参数组合,将所得参数值代入 m(t) 中,计算MSE值,剩余 n-i 组数据用于验证。优化算法流程如图1所示。

    图  1  参数计算的优化算法流程

    在上述理论研究和优化算法的基础上,基于Java语言,设计并开发了一款SRGM Tool,该工具可在个人计算机Web端使用:导入软件失效数据集,计算得到模型参数,进行可靠性分析,辅助完成可靠性模型的选择。

    SRGM Tool的功能模块包括:软件失效数据集导入,可靠性趋势分析,可靠性拟合和预测,不同模型的效果对比,如图2所示。

    图  2  SRGM Tool功能模块示意

    (1)软件失效数据集导入模块:选择一个数据集导入SRGM Tool中,为趋势分析和模型的拟合做准备。

    (2)趋势分析模块:分析失效数据集趋势,利用图形法和拉普拉斯法对可靠性增长趋势进行刻画,得到所选数据集的可靠性增长趋势。

    (3)模型拟合模块:在所选软件失效数据集的基础上,根据模型的均值函数和参数值,计算得出拟合值,将它们与软件失效数据集的数据进行拟合,在同一坐标系中展示结果,并计算相应的评价指标值(MSE值、R-Square值、RE值)。

    (4)模型效果对比模块:支持同数据集不同模型的对比、同模型不同数据集的对比。其中,同数据集不同模型的对比,在同个数据集上进行拟合,绘制所有模型的曲线;同模型不同数据集的对比,在3个数据集上进行拟合,展示3个拟合图形。

    为了对铁路软件进行准确估计,需要真实的铁路软件失效数据集,保证数据的真实性、准确性及完整性。本文在进行模型对比实验验证时选取了铁路计算机联锁软件的失效数据集,该数据集以《计算机联锁技术条件》为标准判断软件是否出错,软件运行半年,共采集了17组失效数据,每组数据记录了测试的时间和累计错误数量。

    在SRGM Tool上,以铁路计算机联锁软件的失效数据集为例开展实验。

    (1)导入软件失效数据集,进行可靠性趋势分析,将计算得到的结果绘制成图形。

    (2)计算模型参数,得到参数后,利用可视化方法展示各模型与铁路软件失效数据集的拟合效果,同时,计算、展示可靠性评估的指标值。

    运用图形法得到的结果如图3所示,运用拉普拉斯法得到的结果如图4所示,两种方法所展现的效果基本一致,曲线斜率总体上随时间变化逐渐减小。拉普拉斯法中,总体上数值在减小。第9~第78天期间出现了波动,局部可靠性下降,但该软件失效数据集总体上呈可靠性增长趋势。

    图  3  软件可靠性增长趋势结果(图形法)
    图  4  软件可靠性增长趋势结果(拉普拉斯法)

    对于铁路软件失效数据集进行初步的可靠性增长趋势分析后,可根据该数据集的趋势特点选择合适的模型进行验证,本文利用4个模型进行对比验证。

    利用改进的参数计算方法,多次试验发现,运用前14组数据计算参数,得到的MSE值最小,即拟合效果最好,因此,选择前14组数据得到的参数组合作为最终采用的参数数值,以达到更好的拟合效果,同时,选择第15~第17组数据作为验证数据。

    将铁路联锁软件失效数据集运用于G-O模型、Delayed S-shaped模型、Ohba-Chou模型及P-N-Z模型上,进行拟合测试,计算各模型引入参数的数值,绘制相应的拟合曲线,4种模型的拟合结果在同一图形中进行对比,如图5所示,图6为相对误差曲线,表2列出各模型的拟合效果评价指标值。

    图  5  拟合结果图形对比
    图  6  各模型相对误差曲线
    表  2  各模型拟合效果对比
    模型G-ODelayed S-shapedOhba-ChouP-N-Z
    参数ababab、$ r $ab、$ \alpha $、β
    MSE20.0486046.1221528.9897851.8637
    R-Square0.9734190.9918830.9880810.997529
    下载: 导出CSV 
    | 显示表格

    结合实验结果,可以得到以下结论:

    (1)图5中,第1~第14组数据作为拟合数据,第15~第17组数据作为验证数据。从图中可以看出,拟合数据中,P-N-Z模型与数据集数据的拟合优度最好;而验证数据中,G-O模型的拟合效果则更好一些,但是总体上P-N-Z模型的效果最优。从图6的相对误差曲线也可以得到同样的结论;

    (2)从图5中可以明显地发现,Delayed S -shaped模型在初始时增长缓慢,反映了模型的延迟效应,但是对于本文的铁路软件失效数据集,总体拟合效果较差,说明此数据集可能不存在排除错误延迟问题;

    (3)G-O模型拟合和预测效果均为4个模型中最差的,Ohba-Chou模型在该数据集上拟合较好,从量化指标来看差距较小,原因为Ohba-Chou模型是在G-O模型基础上考虑新引入的错误数与纠正的错误数成正比,比较理想化,所以Ohba-Chou模型较G-O模型有改进,但是改进不大;

    (4)从表2中可以看出,对于该联锁软件的失效数据集来说,P-N-Z模型的拟合优度最好,若用于实际生产中,该模型是最佳选择。

    本文对铁路软件可靠性模型应用方法进行了研究,利用4种可靠性增长模型,对铁路软件进行可靠性增长趋势分析和可靠性评估预测,提出了一种可靠性模型参数计算的优化算法,并通过实例给出铁路联锁软件可靠性模型分析和预测的方法,可为铁路领域其它软件的可靠性分析和预测提供参考。

    每个可靠性模型都有其适用的失效数据集和场景,具体情况应结合实际应用进行分析。对于本文实验中的铁路联锁软件失效数据集而言,P-N-Z拟合效果最优。

    在铁路领域其它软件的实际使用中,可结合收集到的软件失效数据集,与各个模型相结合,考察模型的拟合优度和预测效果,结合MSE和R-Square等指标,进行综合比较,最终选择更适合其失效过程的模型,预测下次失效的时间或发生错误的频率,提前做好排除错误计划和相关措施,从而保障铁路运营和维护安全,最大限度地减小因软件失效带来的经济损失。

  • 图  1   参数计算的优化算法流程

    图  2   SRGM Tool功能模块示意

    图  3   软件可靠性增长趋势结果(图形法)

    图  4   软件可靠性增长趋势结果(拉普拉斯法)

    图  5   拟合结果图形对比

    图  6   各模型相对误差曲线

    表  1   4种模型的对比

    模型G-ODelayed S-shapedOhba-ChouP-N-Z
    m(t)$ \mathrm{a}(1-{e}^{-bt}) $$\mathrm{a}\left(1-(1+\mathrm{b}\mathrm{t}){e}^{-bt}\right)$$\dfrac{N}{1-r}\left(1-{e}^{-\left(1-r\right)bt}\right)$$\dfrac{a\left[\left(1-{e}^{-bt}\right)\left(1-\dfrac{\alpha }{b}\right)+\alpha t\right]}{1+\beta {e}^{-bt} }$
    a(t)$ a $$ a $$ \dfrac{a}{1-r}\left[1-r{e}^{-\left(1-r\right)bt)}\right] $$ a(1+\alpha t) $
    b(t)$ b $$ \dfrac{{b}^{2}t}{1+bt} $$ b $$ \dfrac{b}{1+\beta {e}^{-bt}} $
    类型完美排错完美排错、S型不完美排错不完美排错、S型、凹型
    适用场景测试过程中改动较少测试过程中发现一定量的错误后才统一进行排错排错过程中会引入新的错误,但错误检测率恒定测试人员在测试过程中会不断学习
    下载: 导出CSV

    表  2   各模型拟合效果对比

    模型G-ODelayed S-shapedOhba-ChouP-N-Z
    参数ababab、$ r $ab、$ \alpha $、β
    MSE20.0486046.1221528.9897851.8637
    R-Square0.9734190.9918830.9880810.997529
    下载: 导出CSV
  • [1] 王玮琦. 基于非齐次泊松过程的联锁软件可靠性建模与半实物仿真[D]. 北京: 北京交通大学, 2017.
    [2] 梁建英. 高速列车智能诊断与故障预测技术研究 [J]. 北京交通大学学报,2019,43(1):63-70. DOI: 10.11860/j.issn.1673-0291.2019.01.007
    [3]

    Ullah N, Morisio M. An empirical analysis of open source software defects data through software reliability growth models[C]// Zagreb, Craotia: EUROCON, IEEE, 2013.

    [4] 邢 颖,李红辉,刘 峰,等. 铁路软件可靠性测评技术及应用研究 [J]. 中国铁路,2016(3):46-50. DOI: 10.3969/j.issn.1001-683X.2016.03.010
    [5] 潘浪涛. 铁路自动售票系统软件可靠性研究[D]. 北京: 中国铁道科学研究院, 2012.
    [6] 廖 亮,王海峰. 基于NHPP模型的联锁软件可靠性评估 [J]. 北京交通大学学报,2008,32(2):113-116.
    [7] 张 策,孟凡超,考永贵,等. 软件可靠性增长模型研究综述 [J]. 软件学报,2017,28(9):2402-2430.
    [8] 李海峰,李秋英,陆民燕. 考虑S型测试工作量函数与不完美排错的软件可靠性模型 [J]. 哈尔滨工程大学学报,2011,32(11):1460-1467. DOI: 10.3969/j.issn.1006-7043.2011.11.012
    [9] 钱 丽,陈 路,尹春娇,等. 基于失效数据的软件可靠性研究 [J]. 佳木斯大学学报(自然科学版),2015,33(6):880-883.
  • 期刊类型引用(2)

    1. 韩安平,李文涛,刘鹏,李红侠. 《铁路车站计算机联锁技术条件》(Q/CR 931—2022)部分条款解析. 铁道通信信号. 2024(01): 30-36 . 百度学术
    2. 孙尉筌. 组合列车进路联锁表在工程实践中的编写原则探讨. 科技创新与应用. 2024(18): 112-115 . 百度学术

    其他类型引用(0)

图(6)  /  表(2)
计量
  • 文章访问数:  107
  • HTML全文浏览量:  181
  • PDF下载量:  27
  • 被引次数: 2
出版历程
  • 收稿日期:  2020-03-29
  • 刊出日期:  2021-04-24

目录

/

返回文章
返回