论文研究-软件可靠性评测的多因素决策模型.pdf

所需积分/C币:6 2019-07-22 21:49:22 1.14MB .PDF

提出了一种利用软件生命周期过程中影响软件可靠性的软件质量特性进行软件可靠性评测的方法。从软件失效的机理出发,分析并提取了刻画软件可靠性各个方面的因素,同时借助模糊分析及专家系统的理论对软件可靠性因素进行了定量的划分和描述。针对软件可靠性评测的多因素决策问题,提出了一种基于随机森林的软件可靠性评测模型。通过蒙特卡罗模拟仿真建立了各个可靠性因素的概率模型以获得评测样本数据集,并在此数据集上对所提出的评测模型进行了评测和分析。实验结果表明,所提出的方法能够对软件可靠性进行准确的评测,且不依赖于特定的可靠性因素的先验概率,显著提高了软件可靠性的评测性能。同时验证了该方法能够克服小样本集上易出现的过拟合
l112· 计算杌应用研究 第32卷 述量(如软件失敚程度),故在实际的软件评测过程中很难获处理,将其取值限制在[0,1]之间。 得对这些囚素准确的刻画量。木文借助模糊分析及专家系统 (b)使用 Bagging算法从训练样木集中抽取固定数目的特 的理沦,对这些可靠性因素构建相应的模糊集合。例如,将软征样本作为建立第ⅰ棵决策树的训练集。 件失效程度划分为五个级别,即完全丧失功能状态、基本丧失 (c)同时随机选取p维特征(p<P),并且在这p维特征中 功能状奁、维持功能状态、主要功能状态和全功能状念;将软件选取分类效果最好的特征节点。在整个随机森林的构造过程 程序员技能划分为五个级别,即低、较低、屮、较高、高。对于可中p是一个落数,本文诜取p=int(log2P+1) 以定量描述的可靠性囚素(如软件测试努力度),木文采用其 (d)根据分类效果最好的特征节点将节点划分为两个分 计算数值来表示。 支,再递归调用步骤(c),直到这棵树能够准确分类训练样本 2.2基于随机森林的软件可靠性评测模型 集,或所有属性都已经被使用过;决策树完整成长之后,不对其 随机森林是一个包含多个决策树的分类器,其基木思想是进行剪枝。 将多个弱分类器集成为一个强分类器。2001年 Breiman将 (c)重复步骤(b)~(d),直到建立了全部k棵决策树。 多个决簧树组合成为随机森林,即在数据和变量的使用上进行 c)利用随机森林模型进行可靠性分类与评测。将测试特 随机组合,牛成多个分类决簧树,再采用多数投票( majority征向量集作为构造的评测模型的输入,采用多数投票的方法来 oing)的方法对多个决策树进行汇总,在大大降低运算量的基决定各特征间量的分类结果,进而对各个软件的可靠性进行 础上提升了分类和回归的精度。选用随机森林算法构建软件测。 可靠性评测模型,其目的在丁避免神经內络计算复杂度高和存 在过拟合的问题、贝叶斯网络的先验知识难以获取的问题,以 以3实验结果 及解决小样本数据集建模困难的问题。此外,该算法对多元噪3.1实验数据 声数据不敏感,结果对缺失数据和非平衡的数据比较稳健。 本文首先采用蒙特卡罗( Monte carlo)模拟仿頁方法建立 在基于软件质量度量的软件可靠性评测中,经过量化的P 描述各个可靠性因素旳概率模型;然后通过大量的计算机随机 维可靠性因素向量作为随机森林算法旳输人,一个随机森林由 模拟來产生相关的训练和测试数据集;接着借助专家系统和模 L个决策树{h(x,,k=1,2,…,l组成,且参数集是独立 糊理论,对产生的数摒样本进行评测。本文定义软件可靠性的 同分布的随机变量每个决策树(如决策树T1,T2…,T1)是 判定为一个模糊集合,共包括五个级别,即软件可靠性状态 个分类器,随机森林的结果是所有决策树评测结果的平均,其 示意图如图1所示。在训练过程中,随机森林中的每个决簧树 决簧树低,较低,中,较高,高}。木文共选择了78种软件,获得600 组可靠性评测数据样本,并由专家对这些数据样本的可靠性进 的训练样本都是利用 bootstrap抽样方法从总样本集合中随机行了评测与标记 选取个子集,决策树在每个节点都选取当前分类效果最好的 弱分类器,所有决箦树分类器构成一个随机森杯分类器。在分 3.2实验结果 类过程中,以M类的软件可靠性分类问题为例,一个样木x经321软件可靠性评测结果 过每个决策树分类器T后,就会产生M个输出结果,为M个 本文从600组数据样本中随机选取200组数据作为训练 置信度值,c∈1,2,…,M|,每个置信度p((x)=j)表示该样样本,其余的4009数据作为测试样本,进行软件可靠性的评 本x属于第j类的概率值,最终的判决基于所有决策树结果的测实验。首先使用200组训练样本构建基于随机森林的评测 平均值,如式(1)所示。 模型,然后利用其佘的样本对该模型进行测试,同时计算模型 F(x)=argmax p (r)= 的分类准确率,并将该模型与传统的方法(如支持向量机 (5VM)、B神经网络(B-NN)、HBF神经网络( RBF-NN))进 ∴4 分类结果1 行了比较。需要注意的是,为了避免训练样本选择的随机性对 评测实验结果产生偏差,本文将上述实验过程重复了30次,以 分类结果2 因索→变量 得到平均的分类准确率。软件可靠性的评测结果如表1和图 样本x随机 投票 2所示,表1中的括号显示了评测准确率的标准差。 表1软件可靠性的评测结果 分类结果k 本文方法 SVM BP-NN RBF-NN 多决策树 评测准确率 98.27 91.62 88.3 82.56 冬1基于随机森林的软件可靠性评测示意图 (1.37) (3.78) (8.32)(8.35) 1p(f(x)= 从实验结果可以看出,对于软件可靠性的评测,木文提出 (1) 的方法能够达到98.27%的评測准确率,明显优于传统的评测 2.3软件可靠性的评测步骤 方法(支持向量机:91.62%;BP神经网终:88.39%;RBF神经 基于随机森林的软件可靠性评测过程的具体步骤如下:网络:δ2.56%)。传统的评测模型在解决软件可靠性评测这种 a)提取刻画可靠性因素的特征向量。针对每个训练或测复杂的多因素决策问题时,其性能在理论上得不到保证。而随 试的样本,提取刻画每个软件可靠性的11个因素的度量量,形机森林方法能够合理地将多因素的软件可靠性评测问题转换 成11维的特征向量集合来表示软件的可靠性。 为多决策树分类问题,在先验知识相对不足的情况下,仍可以 b)构造随机森林评测模型 保持较好的分类评测准确率和稳定性;并且该方法通过随机数 a)将上述特征向量样木划分为训练样木和测试样本。据选择及变量选择的方法来选择决策树的分裂节点,不依赖于 为了消除不同的特征量纲的影响,将各维特征向量进行归一化特定的可靠性因素的先验概率,具有良好的健壮性,能够对泛 第4期 杨玥:软件可靠性评测的多因素决策模型 1113 化后的误差产生无偏差的估计。此外笔者观察到,基于随杋森算法比较,验证了该方法的有效性和可行性。实验结果表明 林的评测模型的标准差(L.37%)显著低于其他的评测方法该方法能够显著提升评测性能,明显优于传统的评测方法(如 (SvM:3.78%;BPNN:8.32%;RBF-NN:8.35%),说明针对多sSvⅥ、BP和RBF);同时能够克服小样木集上易出现的过拟合 因素的软件可靠性评测冋题,该方法具有更好的稳定性和鲁及表现力差的问題,具有铰好的稳定性和健壮性 棒性。 参考文献 同时实捡结果也表明,基于SM评测模型优于基于神经[1YUMR. Software reliability engineerin: a roadmap[ C|//Proe of 网络的评测模型,这是山于SⅤM能够利用内积核函数代替向 Future of Software Engineering. [ S 1.]: IEEE Compuler Society 高维空间的非线性映射,通过最大化分类平面的边缘来控制模 2007:153-170 型的分类能力,从而避免了神经网络的基于经验的风险最小化[21 YAnG Bo, Li Xiang, XIE Min,et. A generic data- driven software 优化方法所导致的局部最优问题 reliability model with model mining technique[J. Reliability E 3.2.2训练样本数目对评测结果的影响 neering and System Safety, 2010, 95(6): 671-678. 在软件可靠性评测过程中,有时很难获得足够的数据对评3] MORASCA S. Fundamental aspeets of software measurement[C] 测模型进行建模和训练,因此在训练样本不足的情况下评测模 Lecture Noles in Computer Scienee 2013: 1-45 型是否还能够保持较高的准确度成为了研究人员关注的个「4 LUO Zi-qiang, CAO Peng, TANG Guo-chun,a., A modification to 重要问题。基于此,本文检测了所构建的评测模型在不同数日 the Jelinski-Moranda software reliability growth model based on cloud 的训练样本条件下评测准确度的变化情况,以进一步分析该方 model theory[ C]//Proc of the 7 th International Conference on Com- 法的有效性和实用性。本文首先选择不同数目的训练样本sn putational Intelligence and Security. 2011: 195-198 构建新的训练样本集,将相对应的剩余样本作为测试样本集 [5 DOGUC O, RAMIREZ-MARQUEZ J E. A generic method for estima 冋吋针对选定的不同训练样本长度s,进行重复性的随机实 ting system reliability using Bayesian networks[J]. Reliability Engi neering and System Safety, 2009, 94(2): 542-550 验以避免样本的随机性对评测结果的影响;然后按照23节161 PHAM H, ZHANG X, NHPP software reliability and eost m 中的步骤进行评测模型的构建和测试,评测结果为多次实验的 dels with testing coverage[ J. European Journal of Operational 平均值。软件可靠性的评测准确率在不同的训练样本数日下 Research,2003,145(2):443-454. 的变化情况如图3所示。 [7 RAJA U, HALE D P, HALE J E. Modeling software evolution de 110 fects: a time series approach [J ]. Journal of Software Mainte nace,2009,21(1):49-71 [8 LO J IL. A study of apply ing ARIMA and SYM model to software re- liability prediction[C]//Proc of International Conference on Uncer- 本文方法 Mainly Reasoning and Know ledge Enyineering 2011: 141-144 -RBF-NN [91 SU Yu sheng, HLANG Chin- yu. Neural-network-based approaches 70L本文方法SvMB上 NNRBF-NN 050100150200250 or soflware reliabilily estimation using dynamic weighted combinatio- 训练样本数 nal models. J] Journal of Systems and Software, 2007, 80( 4) 图2软件可靠性的评测结果图3评测准确度随训练样本 数目不同的变化情况 606-615. 从实验结果可以看出,对于软件可靠性的评测结果在不同[101 MOURA M C,ZIOE, LINS I D,eal. Failure and reliability pre- 训练样数目下的变化情况,本文所提出的评测方法能够在少 量训练样本下保持90%以上的评测准确率,明显优于其他评 Reliability Engineering and System Safety, 2011. 96(11): 1527 1534 测方法。当训练样木数日为50时,基于径向基神经网络的识[11李海峰,陆民燕,王智新基于灰色系统理论的软件可靠性综合评 别方法只能达到58.74%的评测准确率,而本文所提出的方法 价框架[冂].北京航空航天大学学掇,2008,34(11):1261-1265 的评测准确率为90.58%,该结果说明基于随机森林的可幂性[1] EEE STD163.20, EEE recommended practice on software relia- 评测模型能够利用 Bagging方法在小样本集上建立多个决策 bility[s|. 2008 树,以克服小样本集上易出现的过拟合及表现力差的问题,具[13]PAG. A survey of software reliability models[EB/OL].(2001 有较好的稳定性和健壮性。同时笔者发现,随着训练样本数目 06).http://arxiv.org/ftp/arxiv/papers/1304/1304.4539.pe 的増加,所有评测方法的准确率都在提高,这说明针对软件可[14] RAINER A, HALL T. a quantitative and qualitative analysis of fac 靠性的评测问题,采集更多的训练数据能够使模型的训练更加 ors affecting sofi ware processes[ J] Journal of Systems and Soft 充分,以获得更加准确的模型评测准确率。 Ware,2003,66(1):7-21 [15 DAI Yuan-shun, XIE. Min, POH K L. Modeling and analysis of cor 4结束语 elated software failures of multiple types [J. IEEE Trans on Relia 可靠性作为衡量软作质量的重要特性,其定量评估和预测[16] TU Hong-fei, SUN Wei, ZHANG Ya-nan, The research on software 已成为人们关注的焦点。本文通过综合考虑软件生命周期屮 metries and software complexity metries [C]//Proc of International 影响可靠性的各和软件质量信息及因素借助模糊分析及专家 Forum on Computer Science-Technology and Applications. 2009: 131 系统的理论对软件可靠性囚素进行了定量描述,并在此基础上 136. 提出了一种多因素决策的软件可靠性评测思路,以随机森林分[17] BREIMAN T. Random forests[J]. Machine Learning,2001,45 析为数学模型建立软件可靠性的评测模型。通过实验分析及 (1):5-32

...展开详情
img

关注 私信 TA的资源

上传资源赚积分,得勋章
    最新推荐