CN103345443B - 一种软件可靠性增长模型的移动点估计方法 - Google Patents
一种软件可靠性增长模型的移动点估计方法 Download PDFInfo
- Publication number
- CN103345443B CN103345443B CN201310246694.2A CN201310246694A CN103345443B CN 103345443 B CN103345443 B CN 103345443B CN 201310246694 A CN201310246694 A CN 201310246694A CN 103345443 B CN103345443 B CN 103345443B
- Authority
- CN
- China
- Prior art keywords
- transfer point
- point
- software
- tau
- estimation
- 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
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种软件可靠性增长模型的移动点估计方法,包含以下几个步骤:步骤一、根据软件系统实际失效数据绘制质量控制图;步骤二、根据质量控制图和移动点判断准则,得到初始的移动点;步骤三、采用逐步调整法,得到移动点的准确位置;本发明提出了移动点判断准则,使移动点的初步判断更加准确,估计得到移动点数目准确,位置偏差小。本发明提出了新的移动点估计的方法,在使用质量控制图得到初始移动点数目和位置基础上,使用逐步调整法解决了移动点位置估计不准确的问题。
Description
技术领域
本发明属于软件可靠性模型研究领域,针对基于移动点的软件可靠性增长模型中移动点估计不准确的问题,提出一种新的软件可靠性增长模型的移动点估计方法。
背景技术
随着软件应用领域的扩展和功能要求的提高,软件系统规模日益增大,计算机系统中由软件实现的功能所占的比例迅速增加,软件的可靠性成为人们关注的焦点之一。如何准确的度量和预测软件系统的可靠性是当前软件可靠性研究领域的一个热点。软件可靠性增长模型是评估和预测软件可靠性的主要方法,是开展相关研究的核心和关键。
绝大多数的软件可靠性增长模型都假设软件失效数据服从同一种分布。实际上,软件的失效数据受到软件测试中的各种要素的影响,在软件测试过程,这些要素会随着测试时间改变,因此,软件失效数据不可能服从同一分布。
软件测试中要素的变化主要体现在以下几点:
(1)大多数软件可靠性模型都假设软件的故障检测率为常数。实际上,在不同的软件生命阶段,故障检测率是不同的。在测试初始阶段,故障检测率主要依赖于软件缺陷密度;在测试的中后期,故障检测率受到代码膨胀系数、每一单位时间内执行单指令的数目、每天测试执行的时间的影响;在软件的运行阶段,故障检测率只受到软件缺陷本身特性的影响。因此,故障检测率随着测试时间改变。
(2)测试效率是指每测试资源所检测到的故障数。软件测试被划分多个不同的测试阶段,不同的测试阶段的目的是不同的。例如,单元测试的目的是验证每个模块完成了预期的功能,集成测试的目的是确保不同模块组合后能达到预期功能。所以,单元测试阶段的测试用例与集成测试阶段的测试用例是不同的,即单元测试与集成测试的所投入的测试资源是不同的。在单元测试的后期,如果继续投入相同的测试资源,很难发现新的故障,此时的测试效率非常低。但若此时进入集成测试阶段,测试资源变化,较容易发现模块间连接类型的故障,测试效率会大幅增加。所以测试阶段转换点前后的测试效率是有差异的。因此,测试效率是变化的。
(3)故障排除效率是修正故障个数与检测故障个数的比值,是软件测试中重要参数之一,反映软件测试工具和测试人员的实际工作情况。不同的测试阶段的故障排除效率如表1所示,由表可看出不同测试阶段的故障排除效率不同,即故障排除效率是变化的。
表1不同测试阶段的故障排除效率
因此,考虑测试过程中各种因素的变化对失效数据的影响,根据失效数据的变化趋势,建立能对失效数据进行分段拟合的软件可靠性模型势在必行。
目前,主要是利用移动点(Change-point)技术对失效数据进行分段拟合。移动点就是模型中某个或某些量突然变化的点,移动点前后用不同的函数描述软件的失效强度。移动点的数目和位置对软件可靠性估计有重要影响,因此,准确估计移动点的数目和位置具有重要意义。
文献:C.Y.Huang,C.T.Lin在2005年发表的《Reliabilitypredictionandassessmentoffieldedsoftwarebasedonmultiplechange-pointmodels》提出测试过程存在多个移动点,其位置位于不同测试阶段的转换点,并考虑了不同测试阶段故障检测率的差异性,建立了运行阶段的基于多个移动点的软件可靠性增长模型。赵靖,刘宏伟,崔刚等在2006年发表的《考虑测试环境与实际运行环境的软件可靠性增长模型》提出存在唯一的移动点,且位于测试阶段和运行阶段的转换处,并研究了测试剖面与运行剖面的差异对故障检测率的影响,建立了考虑软件测试与运行差别基于移动点的软件可靠性增长模型。不过,上述文献均是通过定性的分析来确定移动点的数目和位置,并没有采用数学方法进行严谨分析和推导。C.Y.Huang,T.Y.Huang在2010年发表的《Softwarereliabilityanalysisandassessmentusingqueuingmodelswithmultiplechange-points》提出将质量控制图用于移动点的估计,并给出了移动点的判断准则,同时提出一个具有多个移动点的扩展的ISQ模型。根据移动点的判断准则,观察质量控制图可以确定移动点的数目和位置,但该文献给出的判断准则不完善,例如该文献认为若一个点落在3倍标准差控制限之外,则为移动点。实际上,软件测试过程的许多不确定因素导致偶尔某些点会落在3倍标准差控制限之外,但并不是移动点。同时,该方法存在一定的弊病,只能对移动点进行粗略的估计,无法通过定量分析给出移动点的最佳位置。
发明内容
本发明考虑到软件失效数据不服从同一分布的问题,提出一种软件可靠性增长模型的移动点估计方法,解决现有的基于移动点的软件可靠性增长模型中移动点估计方法不精确的问题。
一种软件可靠性增长模型的移动点估计方法,包含以下几个步骤:
步骤一、根据软件系统实际失效数据绘制质量控制图;
步骤二、根据质量控制图和移动点判断准则,得到初始的移动点;
步骤三、采用逐步调整法,得到移动点的准确位置;
本发明的优点与积极效果在于:
(1)本发明提出了移动点判断准则,使移动点的初步判断更加准确,估计得到移动点数目准确,位置偏差小。
(2)本发明提出了新的移动点估计的方法,在使用质量控制图得到初始移动点数目和位置基础上,使用逐步调整法解决了移动点位置估计不准确的问题。
附图说明
图1是本发明的方法流程图;
图2是本发明实施例中的质量控制图;
图3是各个模型对失效数据的拟合曲线;
具体实施方式
下面将结合附图和实施例对本发明作进一步的详细说明。
本发明提出的一种软件可靠性增长模型的移动点估计方法,根据移动点的判断准则,初步估计移动点的数目和位置;然后,提出一种逐步调整法,精确地计算每个移动点的位置;基于该移动点的软件可靠性增长模型具有更好的拟合效果和预测能力。
本发明的一种软件可靠性增长模型的移动点估计方法,流程如图1所示,包含以下几个步骤:
步骤一、根据软件系统实际失效数据绘制质量控制图;
步骤二、根据质量控制图和移动点判断准则,得到初始的移动点。
若质量控制图中任意点满足移动点判断准则任意一条,则该点为移动点,若该点后连续A点均满足移动点判断准则任意一条,A的取值范围为2~4,则只取A点中任意一点为初始的移动点,得到n个初始的移动点,分别记为ti,i=1,2,…,n;
移动点判断准则具体为:
(1)三个连续的点中至少两个点落在中心线的同一侧,并且距离中心线的距离大于或等于2σ,σ为标准差;
(2)五个连续的点中至少有四个点落在中心线的同一侧,并且距离中心线的距离或等于σ。
(3)至少八个连续的点落在中心线的同一侧。
步骤三、采用逐步调整法,得到移动点的准确位置。
具体包括以下几个步骤:
首先,由τ0=0到t2时刻之间的失效数据,确定移动点τ1;然后,固定移动点τ1,通过τ1和t3之间的失效数据确定移动点τ2;依次类推,逐步调整得到准确的移动点τi,i=0,1,…,n。
根据τi和ti+2之间的失效数据确定移动点τi+1的方法具体为:
基于移动点的软件可靠性增长模型的故障累计均值函数,得到τi和τi+2之间故障累计均值函数为:
建立目标函数:
其中,y(t)为t时刻软件累积故障数的实测值,a1,a2,…,am为m(t)中的未知参数,m为参数个数。
求式(2)对a1,a2,…,am的偏导,得:
上述方程组(3)对移动点τi+1的求解不存在封闭解,通过对上述等式中τi+1值在(τi,…,τi+2)范围内的逐步选择,可得到使目标函数达到最小值的移动点τi+1。
设(τi,…,τi+2)中有N个点,具体估算移动点τi+1步骤如下:
(1)取τi+1 j=τi+j,(j=1,…,N),利用方程组(3),求出参数a1,a2,…,am的最小二乘估计
(2)将 带入式(2),得
(3)比较{T1,…,TN},}的大小,得到τi+1的最小二乘估计值τi+1={τi+1 j|Tj=min(T1,…,TN)};综上,最终得到软件可靠性增长模型的移动点的准确位置。
实施例:
一种软件可靠性增长模型的移动点估计方法,流程如图1所示,包含以下步骤:
步骤一、根据软件系统实际失效数据绘制质量控制图。
根据已知的软件系统失效数据,绘制质量控制图;
本实施例中,已有的软件系统失效数据见表1所示,(参考文献:K.Kanoun1991年发表的《AmethodforsoftwarereliabilityanalysisandpredictionapplicationtotheTROPICO-Rswitchingsystem》),表1中列出了81周(Week)发现的累积故障数目(CumulativeNumberofFailures,CNF)。
表1系统失效数据
所述的质量控制图是一种常见的通过统计分析来量化过程行为的方法。
传统的质量控制图有一条中心线,并在中心线的两侧有上下控制线。中心线和控制线都代表了计算的评估。计算该评估所用到的观察值是在软件测试过程中采集的。中心线通常是观察值的平均值:
其中,表示中心控制线,n(i)表示i时刻的累积故障数目,k表示失效样本数目。
在中心线的两侧有6条上下控制线,分别为±σ,±2σ,±3σ,其中,σ为标准差。
本实施例中的质量控制图如图2所示。
步骤二、根据质量控制图和移动点判断准则,得到初始的移动点。
若质量控制图中任意点满足移动点判断准则任意一条,则该点为移动点,若该点后连续A点均满足移动点判断准则任意一条,A的取值范围为2~4,则只取A点中任意一点为初始的移动点,得到n个初始的移动点,分别记为ti,i=1,2,…,n;
移动点判断准则具体为:
(1)三个连续的点中至少两个点落在中心线的同一侧,并且距离中心线的距离大于或等于2σ,σ为标准差;
(2)五个连续的点中至少有四个点落在中心线的同一侧,并且距离中心线的距离或等于σ。
(3)至少八个连续的点落在中心线的同一侧。
根据以上移动点判断准则,由图2可看出第29—33周的五点中有四点在中心线的下侧,且第30—33周点距离中心线有一个以上的σ单位,满足移动点判断准则的(2);第46—58周的点连续落在中心线的下侧,满足移动点判断准则的(3),第70—81周的点连续落在中心线的下侧,满足移动点判断准则(3)。因此,可初步认为第29周和第46周分别为的第一、二个移动点。由于第70、71、72周均满足移动点判断准则的(3),任选一点为第三个初始移动点。即移动点数目n=3,位置t1=29;t2=46;t3=70或t3=71或t3=72。为方便说明,下面以t1=29;t2=46;t3=70为例计算移动点位置。
步骤三、采用逐步调整法,得到移动点的准确位置。
本实施例中选用基于多移动点的G-O模型作为实验模型,该模型是C.Y.Huang等人于2005年在《Reliabilitypredictionandassessmentoffieldedsoftwarebasedonmultiplechange-pointmodels》中提出的。该模型的故障累计均值函数为:
其中,a为软件的初始故障数,τi(i=0,1…,n,-1)为移动点位置,bi(i=1,2,…,n)为故障检测率,移动点转换前后故障检测率不同。
首先,由τ0=0到t2=29时刻之间的失效数据,确定移动点τ1;然后,固定移动点τ1,通过τ1和t3=70之间的失效数据确定移动点τ2。
根据τ0=0和t2=29之间的失效数据确定移动点τ1的方法为:
由实验模型的累计故障数均值函数,得到τ0和t2之间故障累计均值函数为:
建立目标函数:
其中,y(t)为t时刻软件累积故障数的实测值;
求式(8)对a,b1,b2的偏导,得:
上述方程组(9)对移动点τ1的求解不存在封闭解,通过对上述三个等式中τ1值在(τi,…,τi+2)范围内的逐步选择,可得到使目标函数达到最小值的移动点τ1。
具体估算移动点τ1步骤如下:
(1)取利用方程组(9),求出参数a,b1,b2的最小二乘估计
(2)将 带入式(8),得
(3)比较{T1…,Tt2}的大小,得到τ1的最小二乘估计值τ1={τ1 j|Tj=min(T1,…,Tt2)},即τ1=29。
同理,通过上述方法可得τ2=43,τ3=72。若在步骤二中选取
τ1=29,τ2=46,τ3=71或τ3=72为初始移动点,通过步骤三,同样得到τ1=29,τ2=43,τ3=72。
综上,最终得到软件可靠性增长模型的移动点的准确位置。
下通过实验来比较研究本发明公开的方法与以C.Y.Huang在2010年发表的文献《Softwarereliabilityanalysisandassessmentusingqueuingmodelswithmultiplechange-points》中方法的得到移动点的准确性。选用以下三个模型进行对比分析:
Model1:经典G-O模型
Model2:基于多移动点的G-O模型(移动点由上述文献中的方法计算得到τ1=29,τ2=46,τ3=70)
Model3:基于多移动点的G-O模型(移动点由本发明方法计算得到τ1=29,τ2=43,τ3=72)
采用MSE和AE分别度量模型拟合效果和预测能力。
MSE用来描述累计错误数的实际值与预测值之间的平均偏差,其定义为:
其中,n表示失效数据集中失效样本的数目;yi表示到ti时刻累积故障数;表示在ti时刻,模型估算得到的累积故障数。MSE的值越小,说明拟合的误差越小。
AE的定义如下:
设t0<t1<t2<…<tn-1<tn表示失效间隔,{ti,di}表示失效时间间隔数据。di表示到时间ti为止的累积故障数。
其中,D表示软件测试结束时实际测得的累积故障数,Di表示用故障时间间隔{t0,d0},{t1,d1},…{ti,di}所估测的软件测试结束时累积故障数。m表示位于t1,tn之间的时间间隔。AE的值越小,说明模型预测能力越强。
三个模型的MSE和AE的计算结果如表2所示。
表2模型的评估结果对比
图3仿真结果显示,Model3拟合效果明显优于Model2和Model1。从表2可以看出的Model3的SSE和AE均最小,说明Model3的拟合和预测能力是对比模型的最优的。所以本发明能够提高移动点估计的准确性,进而提高基于移动点的软件可靠性模型的拟合和预测能力。
本发明的移动点估计方法可以用在不同的基于移动点的软件可靠性模型中,如表2中数据和图3的仿真结果显示,应用本发明估计的移动点所建立的软件可靠性增长模型具有很好的拟合和预测能力,本发明提出的新的移动点估计方法是有效可行的。
Claims (2)
1.一种软件可靠性增长模型的移动点估计方法,包含以下几个步骤:
步骤一、根据软件系统实际失效数据绘制质量控制图;
步骤二、根据质量控制图和移动点判断准则,得到初始的移动点;
若质量控制图中任意点满足移动点判断准则任意一条,则该点为移动点,若该点后连续A点均满足移动点判断准则任意一条,则只取A点中任意一点为初始的移动点,得到n个初始的移动点,分别记为ti,i=1,2,…,n;
移动点判断准则具体为:
(1)三个连续的点中至少两个点落在中心线的同一侧,并且距离中心线的距离大于或等于2σ,σ为标准差;
(2)五个连续的点中至少有四个点落在中心线的同一侧,并且距离中心线的距离大于或等于σ;
(3)至少八个连续的点落在中心线的同一侧;
步骤三、采用逐步调整法,得到移动点的准确位置;
具体包括以下几个步骤:
首先,由τ0=0到t2时刻之间的失效数据,确定移动点τ1;然后,固定移动点τ1,通过τ1和t3之间的失效数据确定移动点τ2,依次类推,逐步调整得到准确的移动点τi,i=0,1,…,n;
根据τi和ti+2之间的失效数据确定移动点τi+1的方法具体为:
基于移动点的软件可靠性增长模型的故障累计均值函数,得到τi和τi+2之间故障累计均值函数为:
建立目标函数:
其中,y(t)为t时刻软件累积故障数的实测值,a1,a2,…,am为m(t)中的未知参数,m为参数个数;
求式(2)对a1,a2,…,am的偏导,得:
上述方程组(3)对移动点τi+1的求解不存在封闭解,求解使目标函数达到最小值的移动点τi+1,具体求解的过程为:
(1)设(τi,…,τi+2)中有N个点,取τi+1 j=τi+j,j=1,…,N,利用方程组(3),求出参数a1,a2,…,am的最小二乘估计
(2)将τi+1带入式(2),得
(3)比较{T1,…,TN}的大小,得到τi+1的最小二乘估计值τi+1={τi+1 j|Tj=min(T1,…,TN)};
综上,最终得到软件可靠性增长模型的移动点的准确位置。
2.根据权利要求1所述的一种软件可靠性增长模型的移动点估计方法,所述的A的取值范围为2~4。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310246694.2A CN103345443B (zh) | 2013-06-20 | 2013-06-20 | 一种软件可靠性增长模型的移动点估计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310246694.2A CN103345443B (zh) | 2013-06-20 | 2013-06-20 | 一种软件可靠性增长模型的移动点估计方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103345443A CN103345443A (zh) | 2013-10-09 |
CN103345443B true CN103345443B (zh) | 2016-04-20 |
Family
ID=49280241
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310246694.2A Active CN103345443B (zh) | 2013-06-20 | 2013-06-20 | 一种软件可靠性增长模型的移动点估计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103345443B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103744778A (zh) * | 2013-12-29 | 2014-04-23 | 哈尔滨工业大学 | 基于移动点的isq-fdefce软件可靠性增长模型 |
CN104915192B (zh) * | 2015-03-25 | 2018-07-10 | 哈尔滨工程大学 | 一种基于移动点和不完美排错的软件可靠性建模方法 |
CN108932197B (zh) * | 2018-06-29 | 2021-10-08 | 同济大学 | 基于参数Bootstrap重抽样的软件失效时间预测方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102508774A (zh) * | 2011-10-28 | 2012-06-20 | 哈尔滨工程大学 | 基于新环境因子函数的软件可靠性增长模型的建模方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005326953A (ja) * | 2004-05-12 | 2005-11-24 | Nec Corp | ソフトウェア品質評価システム及び方法並びにソフトウェア品質評価用プログラム |
-
2013
- 2013-06-20 CN CN201310246694.2A patent/CN103345443B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102508774A (zh) * | 2011-10-28 | 2012-06-20 | 哈尔滨工程大学 | 基于新环境因子函数的软件可靠性增长模型的建模方法 |
Non-Patent Citations (3)
Title |
---|
Software reliability analysis and assessment using queueing models;Chin-Yu Huang等;《Computers and Mathematics with Applications》;20100731;第60卷(第7期);第2015-2030页 * |
基于指数环境因子函数的软件可靠性增长模型;高峰等;《系统工程与电子技术》;20121130;第34卷(第11期);第2396-2400页 * |
考虑测试环境和实际运行环境的软件可靠性增长模型;赵靖等;《计算机研究与发展》;20060530;第43卷(第5期);第881-887页 * |
Also Published As
Publication number | Publication date |
---|---|
CN103345443A (zh) | 2013-10-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102508774A (zh) | 基于新环境因子函数的软件可靠性增长模型的建模方法 | |
Mahsin et al. | Modeling rainfall in Dhaka division of Bangladesh using time series analysis | |
CN104021430B (zh) | 一种城市轨道交通站点客流不确定性分析方法 | |
CN102789543B (zh) | 基于多试验信息的可靠性综合评估方法 | |
JP5005814B2 (ja) | バッテリーの長期特性予測システム及び方法 | |
CN113094923B (zh) | 考虑多源不确定性的多参数相关退化产品可靠性评估方法 | |
CN102789545A (zh) | 基于退化模型匹配的涡轮发动机剩余寿命的预测方法 | |
Zhang et al. | Monitoring wafers’ geometric quality using an additive Gaussian process model | |
US20170160349A1 (en) | Battery state determining device | |
CN103345443B (zh) | 一种软件可靠性增长模型的移动点估计方法 | |
RU2014119873A (ru) | Способ предупредительного обнаружения отказа в устройстве, компьютерная программа, система и модуль для предупредительного обнаружения отказа в устройстве | |
JP2011184121A5 (zh) | ||
WO2009035288A3 (en) | System and method for estimating long term characteristics of battery | |
KR101223898B1 (ko) | 태양광 발전모듈의 고장 진단 및 예지 방법 | |
CN102879728A (zh) | Dc-dc变换器健康评估指标与故障预测方法 | |
CN103530229B (zh) | 一种考虑测试效用的软件可靠性检测方法 | |
CN107092751B (zh) | 基于Bootstrap的变权重模型组合预测方法 | |
CN104915192A (zh) | 一种基于移动点和不完美排错的软件可靠性建模方法 | |
CN109844779B (zh) | 用于分析测量-良率相关性的方法和系统 | |
CN103675712A (zh) | 电源寿命时间检测方法和系统 | |
CN105408828B (zh) | 对曲线上用于检测发动机异常的相关点进行估算的方法以及用于实施该方法的数据处理系统 | |
Sawo et al. | Model-based approaches for sensor data monitoring for smart bridges | |
Korhonen et al. | Evaluation of the accuracy of analysis tools for atmospheric new particle formation | |
CN105069214B (zh) | 一种基于非线性相关分析的工艺可靠性评估方法 | |
RU75484U1 (ru) | Устройство точечной оценки вероятности безотказной работы технической системы по полной выборке |
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 |