基于Logistic模型的软件故障预测系统及方法

文档序号:6551845阅读:149来源:国知局
基于Logistic模型的软件故障预测系统及方法
【专利摘要】本发明公开了一种基于Logistic模型的软件故障预测系统及方法,所述系统包括三个模块:测试周期故障管理模块、Logistic模型度量模块、质量分析与评价模块。所述方法如下:采用测试周期故障管理模块把所述系统测试过程按照一定的周期进行划分,采用Logistic模型度量模块度量出每个周期内发现的故障数;利用Logistic模型计算出软件中含有的故障总数和下一个测试周期发现的故障数;采用质量分析与评价模块用软件中已经发现的故障数与软件含有的故障总数的比值作为软件的可信度,用于判断软件是否达到了发布要求;通过上述三个步骤计算出软件的故障总数,进而对软件是否需要继续进行测试做出判断,并用于下一周期的质量评价。
【专利说明】基于Logistic模型的软件故障预测系统及方法

【技术领域】
[0001] 本发明涉及一种软件的故障预测技术,更具体的说是利用Logistic模型对软件 含有的故障总数以及在下一个测试周期发现的故障数进行预测,进而评估最终的软件产品 是否达到了规定的质量要求的技术。

【背景技术】
[0002] 软件在系统测试过程中会不断地发现故障,故障的解决又可能会引入新的问题, 如果一个版本测试的不够充分就发布出去,可能会导致版本的质量太低,给使用者造成损 失;如果对一个版本测试的时间过于充分,就会导致所谓的过度测试,造成测试资源的浪 费。那么软件在测试过程中的质量如何进行评价?什么时候发布才能够满足对质量的要 求?这个问题的解决就依赖于软件的故障预测技术。
[0003] 软件故障预测技术是一种在软件发布之前对软件中尚未发现的故障进行估计的 技术,可以帮助测试人员在软件发布之前及时调整测试策略,发现更多故障,进而减少软件 维护成本,有效提高软件的质量。目前较有影响的故障预测方法有基于贝叶斯方法的故障 预测模型和基于随机森林算法的故障预测模型。
[0004] 基于贝叶斯方法的预测模型包括贝叶斯网络和朴素贝叶斯分类器,朴素贝叶斯分 类器的基础假设为:给定目标值、属性之间相互条件独立和每个实例X由属性值的特征向 量表示。目标函数根据现有的集合V中的可能取值进行取值,根据一系列得到目标函数的 训练样本集以及新实例的特征向量来预测新实例的目标值。Menzies根据朴素贝叶斯算法 与决策树算法的预测模型进行分类性能对比,对数据采取对数处理后实验结果显示朴素贝 叶斯算法构建的模型比决策树算法构建的模型具有更好的分类性能。贝叶斯网络不确定性 处理问题的能力很强大,可以高效地进行多元信息的融合与表达,已经被广泛地用于软件 故障预测。Fenton等人基于贝叶斯网络提出在不同生命模型中合适的软件故障预测模型以 及遗留故障预测模型,对贝叶斯网络在生命周期早期预测故障的效果进行了分析。
[0005] 2001年LEO Breiman提出了随机森林(Random Forest, RF)算法,森林中决策树 的训练样本是对原始训练样本进行随机采样产生的,在随机森林中决策树内部节点的候 选分割属性集是所有属性的一个非空真子集,该子集是从所有特征属性中随机选取一定数 目的属性作为候选属性集,使用属性分裂衡量函数来对候选属性集中属性的分类能力进行 判别,最终选取最优分裂属性。随机森林算法的故障预测通过计算软件项目的多个属性集 的值来度量软件项目,对训练数据集进行平衡化处理,构造随机森林模型时根据模型的预 测准确率以及查全率来筛选符合性能指标的预测模型。
[0006] 上述软件故障预测的基本原理是如果当前正在开发的模块与之前已开发好的某 模块具有相似的软件质量属性则说明当前的软件模块与之前的已经测试过的模块具有相 似的故障倾向。因此软件故障预测中要用到之前开发的软件模块的故障记录来对当前的模 块进行预测。这种故障预测方法有两个问题:一、软件模块的相似度不容易度量,如果找不 到相似的模块,则无法进行故障预测;二、由于开发人员的技术进步,相似的模块可能表现 出不同的故障趋势,导致预测失效。


【发明内容】

[0007] 有鉴于此,本发明解决的技术问题在于提供一种基于Logistic模型的软件故障 预测系统及方法,该方法不依赖于其他的软件模块,把系统测试过程按照一定的周期进行 划分,度量出每个周期内发现的故障数,然后以此为输入利用Logistic模型计算软件中含 有的故障总数及下一个测试周期发现的故障数,用软件已经发现的故障数与软件含有的故 障总数的比值作为软件的可信度,如果软件没有达到要求的可信度,则需要继续测试下去; 如果软件已经达到了要求的可信度,则无需继续测试,可以发布。
[0008] 基于Logistic模型的软件故障预测系统,包括三个模块:测试周期故障管理模 块、Logistic模型度量模块、质量分析与评价模块;
[0009] 测试周期故障管理模块:划分测试周期,并统计各个测试周期内发现的故障数,该 模块同时负责可信度预期结果的输入;
[0010] Logistic模型度量模块:负责Logistic模型的迭代算法,计算出软件中含有的故 障总数和下一个测试周期预计发现的故障数;
[0011] 质量分析与评价模块:负责软件可信度的计算,并根据计算结果对软件是否可以 发布做出判断;通过比较Logistic模型中计算的下一个测试周期的故障数和实际测试中 发现的故障数,对一个测试周期的质量进行评价,输出评价结果。
[0012] 基于Logistic模型的软件故障预测系统的预测方法包括如下步骤:
[0013] A、采用测试周期故障管理模块把所述系统测试过程按照一定的周期进行划分,并 度量
[0014] 出每个周期内发现的故障数;
[0015] B、利用Logistic模型计算出软件中含有的故障总数和下一个测试周期发现的故 障数;
[0016] C、采用质量分析与评价模块用软件中已经发现的故障数与软件含有的故障总数 的比值作为软件的可信度,用于判断软件是否达到了发布要求;
[0017] 通过上述三个步骤计算出软件的故障总数,进而对软件是否需要继续进行测试做 出判断,并用于下一周期的质量评价。
[0018] 所述步骤B进一步包括:
[0019] B1、把A步骤中的故障数输入Logistic模型;
[0020] B2、利用迭代算法计算Logistic模型的最大值,作为软件中含有的故障总数的估 计;
[0021] B3、计算出下一个测试周期发现的故障数。
[0022] 所述步骤C进一步包括:
[0023] C1、用已经发现的故障数除以故障总数计算出软件的可信度;
[0024] C2、根据软件可信度的达成情况,来判断软件是否需要继续进行测试;
[0025] C3、在下一个测试周期结束时,通过比较发现故障的预测值和实际值,对本测试周 期的质量情况进行评价。
[0026] 有益效果
[0027] 软件测试过程的质量评价和版本是否满足发布要求一直是业界的一个难题,本发 明通过对软件故障发现过程的分析展示了 Logistic模型在故障预测方面的价值。包括两 个方面:一、通过对测试结果的预测分析,在每一个周期结束后可以进行质量评价;二、对 软件的可信度测量,用于版本发布时对整个版本发布的质量进行考核。这两个方面的价值 完成了对测试过程的监督和测试结果的评价。

【专利附图】

【附图说明】
[0028] 图1是本发明辅助故障预测系统FPBL总体框图。

【具体实施方式】
[0029] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对 本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不 用于限定本发明。
[0030] 本发明所述的基于Logistic模型的软件故障预测技术包括三个步骤:第一步,把 系统测试过程按照一定的周期进行划分,度量出已经进行的测试周期内发现的故障数;第 二步,利用Logistic模型计算出软件中含有的故障总数和下一个测试周期发现的故障数; 第三步,软件的质量分析与评价,用软件中已经发现的故障数与软件含有的故障总数的比 值作为软件的可信度,用于判断软件是否达到了发布要求;在下一个测试周期结束时,通过 比较发现故障的预测值和实际值,对该测试周期的质量情况进行评价。
[0031] 参考图1是本发明辅助故障预测系统FPBL的总体框图,该系统包括三个模块:测 试周期故障管理模块、Logistic模型度量模块、质量分析与评价模块。
[0032] 测试周期故障管理模块:负责划分测试周期,并统计各个测试周期内发现的故障 数,该模块同时负责可信度预期结果的输入;
[0033] Logistic模型度量模块:核心模块,负责Logistic模型的迭代算法,计算出软件 中含有的故障总数和下一个测试周期预计发现的故障数;
[0034] 质量分析与评价模块:负责软件可信度的计算,并根据计算结果对软件是否可以 发布做出判断;通过比较Logistic模型中计算的下一个测试周期的故障数和实际测试中 发现的故障数,对一个测试周期的质量进行评价,输出评价结果。
[0035] 下面结合辅助故障预测系统FPBL说明本发明的具体实施过程。
[0036] 为实现所述第一步,也就是完成FPBL中的测试周期故障度量,我们按照5个工作 日为一个测试周期,计算出已经测试的各个周期的故障数,为了保证后续估计的准确性,我 们建议至少有三个周期的数据,才能进行预测。每个周期内的故障数按照故障严重程度的 加权值进行度量,故障依照严重程度区分为:严重、重要、一般、轻微,其对应的加权值分别 为15、9、3、1,以下是某个大型软件在进行了七个周期测试后的故障度量数据:
[0037]

【权利要求】
1. 一种基于Logistic模型的软件故障预测系统,其特征在于所述系统包括三个模块: 测试周期故障管理模块、Logistic模型度量模块、质量分析与评价模块; 测试周期故障管理模块:划分测试周期,并统计各个测试周期内发现的故障数,该模块 同时负责可信度预期结果的输入; Logistic模型度量模块:负责Logistic模型的迭代算法,计算出软件中含有的故障总 数和下一个测试周期预计发现的故障数; 质量分析与评价模块:负责软件可信度的计算,并根据计算结果对软件是否可以发布 做出判断;通过比较Logistic模型中计算的下一个测试周期的故障数和实际测试中发现 的故障数,对一个测试周期的质量进行评价,输出评价结果。
2. -种如权利要求1所述的基于Logistic模型的软件故障预测系统的预测方法,其特 征在于所述方法包括如下步骤: A、 采用测试周期故障管理模块把所述系统测试过程按照一定的周期进行划分,并度量 出每个周期内发现的故障数; B、 利用Logistic模型计算出软件中含有的故障总数和下一个测试周期发现的故障 数; C、 采用质量分析与评价模块用软件中已经发现的故障数与软件含有的故障总数的比 值作为软件的可信度,用于判断软件是否达到了发布要求; 通过上述三个步骤计算出软件的故障总数,进而对软件是否需要继续进行测试做出判 断,并用于下一周期的质量评价。
3. 基于权利要求2所述的基于Logistic模型的软件故障预测系统的预测方法,其特征 在于所述步骤B进一步包括: B1、把A步骤中的故障数输入Logistic模型; B2、利用迭代算法计算Logistic模型的最大值,作为软件中含有的故障总数的估计; B3、计算出下一个测试周期发现的故障数。
4. 基于权利要求2所述的基于Logistic模型的软件故障预测系统的预测方法,其特征 在于所述步骤C进一步包括: C1、用已经发现的故障数除以故障总数计算出软件的可信度; C2、根据软件可信度的达成情况,来判断软件是否需要继续进行测试; C3、在下一个测试周期结束时,通过比较发现故障的预测值和实际值,对本测试周期的 质量情况进行评价。
【文档编号】G06F11/36GK104111887SQ201410309236
【公开日】2014年10月22日 申请日期:2014年7月1日 优先权日:2014年7月1日
【发明者】李胜宏, 吕俊廷 申请人:江苏科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1