CN103268279B - 基于复合泊松过程的软件可靠性预测方法 - Google Patents
基于复合泊松过程的软件可靠性预测方法 Download PDFInfo
- Publication number
- CN103268279B CN103268279B CN201310062004.8A CN201310062004A CN103268279B CN 103268279 B CN103268279 B CN 103268279B CN 201310062004 A CN201310062004 A CN 201310062004A CN 103268279 B CN103268279 B CN 103268279B
- Authority
- CN
- China
- Prior art keywords
- prime
- software
- loss
- moment
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Stored Programmes (AREA)
- Debugging And Monitoring (AREA)
Abstract
基于复合泊松过程软件可靠性预测方法,属于软件可靠性预测领域,其特征在于是一种以软件运行和维护中带来的成本和利润损失按设定的损失等级进行强可靠性预测的方法;用一个由软件运行的起止、结束时间、累计故障损失和累计损失量级构成的在时间上等间隔的数据组组成的多个历史数据组为基础,在设定的预测失效数据组个数范围内进行预测;以最后一个历史数据组的结束时间为预测起始值,把累积损失等级视为一个服从软件发布日起到本次预测日为止的随机过程视为随机过程,逐次以前一次得到的累积损失等级来预测,从软件发布日起,本次预测日止的累计损失等级;再在设定的误差范围内与在预测次数上一一对应的历史数据进行比较,解决了软件在不同使用条件下的可信性问题。
Description
技术领域
本发明属于软件可信的重要属性,即软件可靠性的度量模型,具体涉及G-O软件可靠性模型以及复合泊松过程来将软件失效的严重程度集成到软件可靠性度量中,提高度量的全面性,统一软件可信性的度量标度。
背景技术
随着互联网与信息技术的飞速发展,以通信、存储和计算为核心的信息基础设施已经渗透到了政治、经济、军事、文化以及社会生活的各个层面。同时,由于软件失效而带来的巨大损失,使得各个国家、组织和研究者开始关注如何保障软件正确、有效的运行,即就是软件的可信性问题。
软件可靠性被学术界普遍认为是软件可信性的一个重要的子属性,因此软件可靠性模型对软件可信性研究具有重要意义。可靠性的概念是由硬件演化而来,软件可靠性模型用于度量和预测由于软件故障引起的软件失效数据,使用历史数据对软件失效间隔时间和软件中存在的故障总数进行度量和预测。
从20世纪60年代起,不断有研究者提出不同的度量模型,并进行改进。J-M模型是最早提出的基于马尔可夫过程的软件可靠性度量模型,认为失效间隔时间是一个服从指数分布的随机变量,为软件可靠性模型的发展奠定了重要的基础。G-O模型是较为经典的非齐次泊松过程模型,认为软件被检测出的累积故障数服从泊松分布,并认为软件中存在的固有故障数为随机变量,对软件可靠性模型的发展做出了重要贡献。Shooman模型认为发生失效的时间服从指数分布,其特点是运行时间用CPU时间进行度量。Musa模型同样是利用CPU时间进行度量,但是其同时考虑了CPU时间和日历时间的关系,并考虑了测试过程的资源消耗情况,并得到广泛应用。Nelson模型考虑将程序的输入数据看作一个集合,并将该集合进一步划分为使程序正常运行的输入子集和使程序运行失效的输入子集。S-W模型认为随着软件测试的逐渐进展,故障被发现的概率会增大,因此失效率不仅与剩余故障数成正比,同时也和测试时间成正比,且失效间隔时间服从威布尔分布。Littlewood贝叶斯排错模型基于J-M模型,认为程序在测试初期被发现的故障比测试后期被发现的故障对程序有更大的影响,并利用贝叶斯方法进行改进。
近些年来,人们尝试采用一些非经典的数学方法对软件可靠性建立数学模型,比较常见的方法是运用人工智能算法。有学者将将神经网络引入软件可靠性模型,利用神经元的数学模型模拟软件可靠性中的非线性关系。神经网络模型具有较好的鲁棒性,并且有较为成熟的实现方法,但是训练过程的收敛速度较慢且容易陷入局部极值而无法得到最优解。同时有人提出利用遗传算法得到软件可靠性的多元回归模型,可以有效得出全局最优解而避免了局部极值问题,但是其实现较为复杂。
传统可靠性模型基于失效时间,预测失效的总次数和时间。但是仅从失效时间的长短去衡量一个软件的可靠性程度过于单一和片面。如果我们从软件可信性的角度去考察软件可靠性问题,那么软件***的失效率越高,则软件越不可信;同时,如果软件中存在的故障危害严重程度越大,那么软件也越不可信。因此,我们不仅要考察软件的失效率,同时也要考虑故障的危害严重程度对软件可靠性的影响。有关文献将软件中存在的故障进行分类的思想,但是没有将故障进行分类度量和预测。为了解决上述问题,我们将故障分类的思想引入软件可靠性模型中,来解决上述问题。
同时,软件可信性的度量一般通过其可信属性的度量来完成,软件可信包括的属性主要有可靠性、安全性、完备性、可用性、适用性等。不同的属性具有不同的度量标度,如可靠性是失效时间,安全性是漏洞个数,适用性是满足的百分比,标度的不统一,使得当前软件可信性的度量难以实现,只能通过比较主观的专家打分方法实现,因此,急需一种统一的度量标度来统一不同可信属性的度量。本发明引入损失量的度量指标,不仅可以使得可靠性度量更全面,也为软件可信属性提供了一种统一的标度,可将损失量的概念推广到其他可信属性的度量中,为软件可信度量奠定基础。
发明内容
本发明的目的在于提供一种基于复合泊松过程的软件可靠性预测方法。
本发明的其特征在于除了能够度量和预测失效间隔时间和失效总数之外,还可得到失效带来的损失量值,其实施按以下步骤完成:
步骤(1),从中国国家信息安全漏洞库网址http://www.cnnvd.org.cn输入从2009-08-14~2012-08-16为止的N条有限个数漏洞数据,再以设定的时间段Δt'i′从软件发布日t'0起选取,得到N′条漏洞数据,再从其中选择出前n′条漏洞数作为预测用的历史数据,而把余下的N′-n′条漏洞数据作为测试用的校验数据,N>N′>n′,在前n′条历史数据中,各时间段Δt′i′的首尾日期相接,但以“天”为单位的日期t′i′不连续,Δt′i′的序号为:1,2,3…i′…I′,在数值上I′=n′,Δt′i′=t′i′-t′i′-1,t′0为软件发布日,
每一条漏洞信息对应的数据格式为起始时间、结束时间、累积故障数和累计损失量,其中:
损失,指由于软件失效造成的运行和维护的以实际全额计数的额外成本,所述额外成本以损失等级量度,每一个损失等级相当于设定的金额,基于损失量度量的可靠性称为强可靠性,损失量是指序号相邻的两条漏洞数据之间的损失等级等于一个时间段内的损失等级。
累计损失量,指软件发布日起至N′条所述漏洞数据中的任一个损失计数日或预测日止的累计损失等级数。
累计故障数,等于累计导致软件无法运行的漏洞数,其中:
k′i′指历史数据中n′个漏洞数据内时刻i′的累计故障数,k'I′是最后一个I′所对应累积故障数,
k′i′指在预测过程中第i个时刻时的累计故障数,i=0,1,2,3,…,I,在数值上I'=N′-n′,i=0时,k0在数值上等于k'I′,其中:
ti'=t0=t′I′表示:第n′个历史数据的结束时刻等于预测初始时刻,t0≠0,t1=tI′'+Δt0,i2=t1+Δt1,而Δt1=平均失效时间MTBF,以此类推tI=tI-1+MTBFI=tI-1+ΔtI,MTBFi的下标表示第i个平均失效时间,i=0,1,2,3,…,I。
步骤(2)依次按以下步骤实施基于复合泊松过程的强软件可靠性预测:
步骤(2.1)按下式计算和其中:
为从软件发布日t′0起到第i个预测时间的累积故障数的估计值;
为第i个漏洞数据的检测率估计值,也称查出率b,每一个漏洞数据测定都是相同的,都等于b,
在i=1时ki-1=k0=k'I′,k0为t0=t′n≠0下n′个漏洞数据中最后一个漏洞数n′所对应的累积故障数, ti-1=t0=t'I′表示使用了从软件发布日起一直到t'I′的历史数据;
步骤(2.2)按下式计算,从软件发布日起到第i个时刻ti下的失效强度λ(ti):
是一个软件从发布日起到第i个时刻ti为止的时间段内漏洞造成的损失的期望函数,是一个有限的递增函数,
步骤(2.3),按下式求解步骤(2.2)中第i时刻的所述均质函数的平均失效时间MTBFi:
步骤(2.4)按下式计算从软件发布之日起到第i+1个时刻ti+1的累计损失量W(ti+1):
表示自预测初始日期起到ti止的平均累积损失量,时刻的单位为“天”下同;
表示自预测初始日期起到第i+1个时刻止的平均的累积损失量,
W(ti+1)表示考虑了失效强度这个失效因素后的自软件发布之日起到第i+1个时刻的累积损失量,
步骤(2.4)按下式计算自ti到ti+1这一时间段内的损失量NFL:
步骤(3),在i=2时ki-1=k1,而已知 表示使用了从软件发布日起一直到第i1时刻的已知数据,其中包括历史上n′个漏洞数据和以此类推,在i=I时ki-1=kI-1, 表示已预测到了最后第I个时刻的第N′-n′个漏洞数据,每次重复步骤(2),
步骤(4),验证方法的正确性,对于任意一个i,从实际的校验数据集中,取得与以上步骤取得的估计值W(ti+1)最相近的实际累积损失量值求的模型的预测误差
本发明的效果在于能评估不同软件的强可靠度指标,包括失效数目,失效损失量,失效平均时间,失效平均损失量,同时也能够预测一个软件将会发生的失效总数,以及下一次失效时间及损失量。增加了损失量的指标,克服传统可靠性度量方法的实际可信性问题。
附图说明
图1本发明的整体流程框图。
具体实施方式
因为带有损失量的失效数据获取难度较大,本发明的实验部分使用权威的中国国家信息安全测评中心发布的漏洞数据作为实验数据。
来源:国家信息安全测评中心cnnvd.org.cn发布的漏洞数据。
数据信息:Windows7发布以来(2009-08-14至2012-08-16)的所有漏洞信息
数据大小:用160条漏洞记录,记录格式如下:
漏洞编号 | 严重级别 | 漏洞名称 | 发布日期 |
CNNVD-200910-207 | 3 | Microsoft.Net Framework远程协助漏洞 | 2009-10-14 |
CNNVD-200910-182 | 2 | Microsoft IE拒绝服务漏洞 | 2009-08-18 |
数据处理:
(1)用漏洞模拟失效;
(2)使用严重级别推算损失量,随着严重级别的升高,损失量也应增大,假定级别1对应损失量为1w美元,对应2为2w美元,依次类推。
(3)由于得到的漏洞数据按天计算,而实际情况是在同一天的不同时段会检测到有不同的漏洞,因此将数据整理为时间间隔累积失效数据,以20天为一个时间间隔,记录累积的失效总数,整理后,160条数据整理为65条数据,数据表1所示:
表1时间间隔累积失效数据
(4)使用前50条数据作为历史数据,用来估算后面的15条数据。
实验步骤
对于时间点ti,使用本模型预测软件在可靠性和损失量,依据以下步骤:
(a)使用前i(本实验中要求50≤i≤65)条数据获得模型的估计值,将每一条数据对应的数据格式为(ti-1,ti,wi),分别对应开始时间、结束时间和累积损失量,根据前i(50≤i≤65)条数据根据参数估计方法解得参数a,b的估计值
(b)代入估计值到公式,得到损失强度的表达式
(c)对于时刻ti,预计下一次失效时间,求解平均失效时间MTBF,
(d)根据预计下一个失效带来的损失量,即NFL
(e)根据预计下一个时间节点的累积损失量W(ti+1)
令Wn表示到时刻tn为止,根据模型得到的累积损失量的预测值,则Wn=W(tn),而wn表示到时刻tn为止,软件实际的累积损失量。则模型的误差为:
p越小,误差越高,说明模型却准确。
实验得到的后15数据的误差为9%,表明该模型具有较好的预测能力。
Claims (1)
1.基于复合泊松过程的软件可靠性预测方法,其特征在于,是一种能够同时预测失效总数和由于失效带来的金额损失量级的预测方法,其实施按以下步骤完成:
步骤(1),从中国国家信息安全漏洞库网址http://www.cnnvd.org.cn输入从2009-08-14~2012-08-16为止的N条有限个数漏洞数据,再以设定的时间段Δt′i′从软件发布日t′0起选取,得到N′条漏洞数据,再从其中选择出前n′条漏洞数作为预测用的历史数据,而把余下的N′-n′条漏洞数据作为测试用的校验数据,N>N′>n′,在前n′条历史数据中,各时间段Δt′i′的首尾日期相接,但以“天”为单位的日期t′i′不连续,Δt′i′的序号为:1,2,3,…,i′,…,I′,在数值上I′=n′,Δt′i′=t′i′-t′i′-1,t′0为软件发布日,
每一条漏洞信息对应的数据格式为起始时间、结束时间、累积故障数和累计损失量,其中:
损失,指由于软件失效造成的运行和维护的以实际全额计数的额外成本,所述额外成本以损失等级量度,每一个损失等级相当于设定的金额,基于损失量度量的可靠性称为强可靠性,损失量是指序号相邻的两条漏洞数据之间的损失等级等于一个时间段内的损失等级,
累计损失量,指软件发布日起至N′条所述漏洞数据中的任一个损失计数日或预测日止的累计损失等级数,
累计故障数,等于累计导致软件无法运行的漏洞数,其中:
ki'′指历史数据中n′个漏洞数据内时刻i′的累计故障数,kI′′是最后一个I′所对应累积故障数,
ki′指在预测过程中第i个时刻时的累计故障数,i=0,1,2,3,…,I,在数值上I'=N′-n′,其中:i=0时,k0在数值上等于kI′′,
ti'=t0=tI′′表示:第n′个历史数据的结束时刻等于预测初始时刻,t0≠0,t1=tI′'+Δt0,t2=t1+Δt1,而Δt1=平均失效时间MTBF,以此类推tI=tI-1+MTBFI=tI-1+ΔtI,MTBFi的下标表示第i个平均失效时间,i=0,1,2,3,…,I,
步骤(2)依次按以下步骤实施基于复合泊松过程的强软件可靠性预测:
步骤(2.1)按下式计算和其中:
为从软件发布日t′0起到第i个预测时间的累积故障数的估计值;
为第i个漏洞数据的检测率估计值,也称查出率b,每一个漏洞数据测定都是相同的,都等于b,
在i=1时ki-1=k0=kI′,k0为t0=t′n≠0下n′个漏洞数据中最后一个漏洞数n′所对应的累积故障数,ti-1=t0=tI′′表示使用了从软件发布日起一直到tI′′的历史数据;
步骤(2.2)按下式计算,从软件发布日起到第i个时刻ti下的失效强度λ(ti):
是一个软件从发布日起到第i个时刻ti为止的时间段内漏洞造成的损失的期望函数,是一个有限的递增函数,
步骤(2.3),按下式求解步骤(2.2)中第i时刻的均值函数的平均失效时间MTBFi:
步骤(2.4)按下式计算从软件发布之日起到第i+1个时刻ti+1的累计损失量W(ti+1):
表示自软件发布之日起到第i个时刻ti止的平均累积损失量,时刻的单位为“天”,下同;
表示自软件发布日起到第i+1个时刻止的平均的累积损失量,
W(ti+1)表示考虑了失效强度,这个失效因素后的自软件发布之日起到第i+1个时刻的累积损失量,
步骤(2.4)按下式计算自第i个时刻ti到底i+1时刻ti+1这一时间段内的损失量NFL:
步骤(3),在i=2时ki-1=k1,而已知表示使用了从软件发布日起一直到第i1时刻的已知数据,其中包括历史上n′个漏洞数据和以此类推,在i=I时ki-1=kI-1,表示已预测到了最后第I个时刻的第N′-n′个漏洞数据,每次重复以上的步骤实施,
步骤(4),验证方法的正确性,对于任意一个i,从实际的校验数据集中,取得与以上步骤取得的估计值W(ti+1)最相近的实际累积损失量值求的模型的预测误差
误差p越小,预测精度越高,则说明模型的效果越好。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310062004.8A CN103268279B (zh) | 2013-02-27 | 2013-02-27 | 基于复合泊松过程的软件可靠性预测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310062004.8A CN103268279B (zh) | 2013-02-27 | 2013-02-27 | 基于复合泊松过程的软件可靠性预测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103268279A CN103268279A (zh) | 2013-08-28 |
CN103268279B true CN103268279B (zh) | 2015-12-09 |
Family
ID=49011910
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310062004.8A Active CN103268279B (zh) | 2013-02-27 | 2013-02-27 | 基于复合泊松过程的软件可靠性预测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103268279B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104166680B (zh) * | 2014-07-12 | 2017-05-17 | 中国信息安全测评中心 | 一种基于开源库与文本挖掘的并行漏洞挖掘方法 |
CN104298858A (zh) * | 2014-09-19 | 2015-01-21 | 南京邮电大学 | RoboCup救援平台中基于聚类和凸包的地图划分方法 |
CN107330726A (zh) * | 2017-06-29 | 2017-11-07 | 四川昆朋金软科技有限公司 | 基于自动拟合均值函数的泊松过程用户到店行为预测方法 |
CN109815149A (zh) * | 2019-01-29 | 2019-05-28 | 山西大学 | 一种基于Weibull分布引进故障的软件可靠性增长模型 |
CN111475415B (zh) * | 2020-04-07 | 2021-07-27 | 北京航空航天大学 | 一种可靠性策略模型与代码的一致性检测方法和装置 |
CN112686397B (zh) * | 2020-12-18 | 2024-06-11 | 广东机电职业技术学院 | 空调器故障率计算方法、装置、计算机设备及存储介质 |
CN112700043B (zh) * | 2020-12-31 | 2024-03-08 | 新奥数能科技有限公司 | 负荷预测方法、装置、计算机可读存储介质及电子设备 |
-
2013
- 2013-02-27 CN CN201310062004.8A patent/CN103268279B/zh active Active
Non-Patent Citations (4)
Title |
---|
Markov Reliability Model based on Error Classification;Yi Jin, Luo Xun,Luo Ping, Yang GuangYu;《2012 Fifth International Symposium on Parallel Architectures, Algorithms and Programming》;20121220;224-231 * |
SSRGM: Software Strong Reliability Growth Model Based on Failure Loss;Huang Yafang,Liu Yanzhao,Luo Ping;《2012 Fifth International Symposium on Parallel Architectures, Algorithms and Programming》;20121220;255-261 * |
软件可信性度量模型研究进展;汤永新,刘增良;《计算机工程与应用》;20101231;第46卷(第27期);12-16 * |
软件可靠性预测技术研究;眭俊华,范灵春,张海盛;《计算机工程》;20060131;第32卷(第1期);67-70 * |
Also Published As
Publication number | Publication date |
---|---|
CN103268279A (zh) | 2013-08-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103268279B (zh) | 基于复合泊松过程的软件可靠性预测方法 | |
CN103942457B (zh) | 基于关联向量机回归的水质参数时间序列预测方法 | |
WO2022135265A1 (zh) | 气候变化影响下水库调度规则的失效预警分析方法 | |
Wang et al. | Does urbanization lead to more carbon emission? Evidence from a panel of BRICS countries | |
Fiss et al. | Opposites attract? Opportunities and challenges for integrating large-N QCA and econometric analysis | |
CN104766175A (zh) | 一种基于时间序列分析的电力***异常数据辨识与修正方法 | |
CN102252843B (zh) | 一种滚动轴承性能变异的评估方法 | |
Bernhagen et al. | The partisan effects of low turnout: Analyzing vote abstention as a missing data problem | |
Wang et al. | Optimal design of constant-stress accelerated degradation tests using the M-optimality criterion | |
CN105071983A (zh) | 一种面向云计算在线业务的异常负载检测方法 | |
CN106529145A (zh) | 一种基于arima‑bp神经网络的桥梁监测数据预测方法 | |
CN103293014A (zh) | 一种桥梁疲劳损伤状态与剩余寿命的评估方法 | |
CN105300692A (zh) | 一种基于扩展卡尔曼滤波算法的轴承故障诊断及预测方法 | |
CN103279657B (zh) | 一种基于工程经验的产品加速退化试验方案设计方法 | |
CN104156615A (zh) | 基于ls-svm的传感器检测数据点异常检测方法 | |
Clements et al. | Improving real-time estimates of output and inflation gaps with multiple-vintage models | |
Xia et al. | The effect of fossil fuel and hydropower on carbon dioxide emissions: EKC validation with structural breaks | |
CN102063375A (zh) | 一种基于混合测试的软件可靠性评估方法及其装置 | |
CN103745094A (zh) | 感潮河段水文序列交互式模拟预测方法和*** | |
CN102411339A (zh) | 一种数控装备性能可靠性评估方法 | |
CN105843733A (zh) | 一种大数据平台的性能检测方法及装置 | |
CN106125713A (zh) | 一种区间删失情况下可靠性增长的评估与预测方法 | |
CN102156641A (zh) | 一种软件成本置信区间预测方法及*** | |
Lethanh et al. | A hidden Markov model for modeling pavement deterioration under incomplete monitoring data | |
Lin | An integrated procedure for bayesian reliability inference using MCMC |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |