当前位置: 首页 > 专利查询>厦门大学专利>正文

一种结合软件开发质量信息的软件可靠性定量评估方法技术

技术编号:23098976 阅读:21 留言:0更新日期:2020-01-14 20:34
本发明专利技术涉及一种结合软件开发质量信息的软件可靠性定量评估方法,可包括以下步骤:S1.针对软件开发生命周期过程,采用BBN模型对软件开发生命周期、软件剩余缺陷数和软件需求失效概率进行建模,得到软件开发生命周期的软件需求失效概率PFD

A quantitative evaluation method of software reliability based on software development quality information

【技术实现步骤摘要】
一种结合软件开发质量信息的软件可靠性定量评估方法
本专利技术属于软件可靠性分析领域,具体地涉及一种结合软件开发质量信息的软件可靠性定量评估方法。
技术介绍
软件可靠性是软件开发过程中最重要的因素之一,直接影响了软件的质量的好坏。软件可靠性的定义是在规定的时间和规定的环境下无故障运行的概率。软件失效是指某个特定输入状态与数字化系统内部状态交互触发了软件的一个故障,造成软件未能执行其预期功能或执行非预期功能。软件有与硬件不同的失效因素和模式,软件产品的可靠性与时间不存在直接的函数关系。软件产品不随时间发生变化,除非发生人为的变更或升级。由于现有的知识不完整,不能充分地解释和量化定义软件失效过程的所有变量。与软件失效相关的主要不确定性包括:(1)软件程序中故障的数量和分布是未知的,(2)触发故障的输入的出现是操作环境的函数,并且遵循一个随机过程。为了解决这种不确定性,软件失效可以用概率或频率来描述。现有的软件可靠性定量评估方法有:软件可靠性增长方法、贝叶斯置信网络方法、基于测试的方法、基于指标的方法和基于标准的方法等。一种方法可能同时被归类到上述几种方法中。每一种方法都有不同的适用范围,没有一种方法可以适用于所有情况。《哈尔滨工程大学学报》第35卷第12期的“核安全级仪控软件可靠性评估模型构建”,及《核动力工程》杂志第37卷第1期的“核安全级数字化仪控系统软件可靠性评估”文献中,运用贝叶斯置信网络(BayesianBeliefNetwork,BBN)方法,通过对系统因素关系分析,结合专家定性判断,对复杂系统进行模型构建,开展了软件可靠性定量评估方法的研究。基于BBN该方法,通过专家意见和客观数据等信息,对软件开发过程的质量分阶段依次评估,最后得到软件可靠性的定量评估结论。评估的缺陷既包含会导致需求失效的缺陷,也包含不会导致需求失效的缺陷。该方法在实践过程中较依赖于专家评分,主观性较强。中国专利技术专利“一种低需求操作模式下的软件可靠性定量评估方法”(申请号201710727374.7)中公开一种软件可靠性定量评估方法。该软件可靠性定量评估方法,运用软件统计测试(SoftwareStatisticalTesting,SST)的方法,通过引入风险分析的测试剖面,全面模拟软件的实际操作场景,并结合运行场景的相对频率构造完整准确的运行剖面;根据软件运行剖面,进行蒙特卡罗采样并生成样本文件,样本文件用于生成测试用例;根据样本文件利用仿真模型生成用于软件测试的测试用例;最后采用贝叶斯推断,定量评估低需求操作模式下的软件需求失效概率。此方法相比于BBN方法仅考虑会导致需求失效的缺陷,未考虑软件开发过程质量对软件可靠性的影响。此外,此方法采用的是无信息的先验分布,对于安全级软件来说过于保守。
技术实现思路
本专利技术旨在提供一种结合软件开发质量信息的软件可靠性定量评估方法,以解决上述问题。为此,本专利技术采用的具体技术方案如下:一种结合软件开发质量信息的软件可靠性定量评估方法,可包括以下步骤:S1.针对软件开发生命周期过程,采用BBN模型对软件开发生命周期、软件剩余缺陷数和软件需求失效概率PFD进行建模,得到软件开发生命周期的软件需求失效概率PFD1,其中,软件开发生命周期包括需求阶段、设计阶段、实现阶段、测试阶段、安装和验收阶段;S2.采用BBN方法对需求失效概率PFD、测试次数n、失效次数f和PFD置信度建模,构建PFD可靠性模型,将S1得到的软件需求失效概率PFD1作为需求失效概率PFD的先验分布,将期望的软件需求失效概率PFD2作为需求失效概率PFD的后验分布,使用PFD可靠性模型进行计算,即可获得满足在预定置信度α下期望的软件需求失效概率PFD2所需进行的无故障测试次数;S3.对软件进行测试,若实际的无故障测试次数小于S2得到的无故障测试次数,则表示软件不可靠,需要进行修改。进一步地,S1的具体过程为,S11.对于软件开发生命周期的每个阶段,开发一个BBN子模型用于评估该阶段完成后软件中存在的缺陷数量,具体地,每个阶段的剩余缺陷数量由3种因素决定:上一阶段的剩余缺陷数,需求阶段作为第一阶段不包含此因素;软件复杂度;软件开发活动和V&V活动的质量。其中,软件复杂度根据软件逻辑图中反馈回路的数量、连接的复杂功能模块的最大数量、连接的功能块的最大数量以及输入和输出的总数来识别;软件开发活动和V&V活动的质量通过对相关的标准和指南进行分析,开发出一系列间接度量指标作为实际质量的指示,也称为指示节点;通过专家对现有软件开发过程和V&V过程可用的历史数据研究,确定BBN模型各节点的条件概率表和先验概率分布;对照标准对待评估软件的开发活动和V&V活动中各指示节点所对应的文档和数据进行评估,输入观察值,便可生成开发活动质量和V&V活动质量节点的质量分布;通过输入BBN模型各指示节点和复杂度节点的观察值,进行运算,即可得每个阶段的剩余缺陷数的评估结果;S12.在所有阶段的剩余缺陷数量评估完成后,通过缺陷大小分布将软件中存在的缺陷数量转换为软件的需求失效概率,计算公式为:软件失效概率=软件缺陷数*软件缺陷大小分布,其中,软件缺陷大小分布数值的确定是通过对软件开发和V&V团队开发的同等类型和同等复杂度的软件的缺陷数以及软件需求失效概率的历史数据分析得到的。进一步地,S2的具体过程为:采用BBN方法对需求失效概率PFD、测试次数n、失效次数f和PFD置信度建模,构建“PFD可靠性模型”;对于安全级低需求操作模式软件,每次测试只有一种结果:“成功”或“失败”,因此假定失效次数f符合二项分布B(n,PFD);将S1得到的软件需求失效概率PFD1作为需求失效概率PFD的先验分布;“PFD置信度”为布尔节点,其节点概率表设置为“if(PFD<PFD2,"True","False")”,表示如果“PFD置信度”为“True”,则PFD满足可靠性目标PFD2;假设所有测试均成功,即失效次数f=0,PFD满足特定置信度(α)条件下的可靠性目标(PFD2)所需要进行的测试次数ni由以下公式确定:假设α=95%,PFD2=10^-4,对P(PFD置信度=True|f=0,n)进行敏感性分析,对不同的n=ni计算α值,即可计算出有95%的信心认为软件满足PFD低于10^-4的可靠性目标所需要进行的无故障测试次数。进一步地,S3的具体过程为:S31、通过引入风险分析的测试剖面,用于帮助说明软件运行场景及限制测试边界,全面模拟软件的实际操作场景,并结合运行场景的相对频率构造完整准确的运行剖面;S32、根据软件运行剖面,进行蒙特卡罗采样并生成样本文件,其数量由可靠性目标确定;S33、根据样本文件,利用仿真模型生成用于软件测试的测试用例;S34、执行测试。本专利技术采用上述技术方案,具有的有益效果是:本专利技术方法考虑了软件开发过程的质量特性和用于评估软件可靠性的统计测试方法,克服了单独的开发过程本文档来自技高网
...

【技术保护点】
1.一种结合软件开发质量信息的软件可靠性定量评估方法,其特征在于,包括以下步骤:/nS1.针对软件开发生命周期过程,采用BBN模型对软件开发生命周期、软件剩余缺陷数和软件需求失效概率PFD进行建模,得到软件开发生命周期的软件需求失效概率PFD

【技术特征摘要】
1.一种结合软件开发质量信息的软件可靠性定量评估方法,其特征在于,包括以下步骤:
S1.针对软件开发生命周期过程,采用BBN模型对软件开发生命周期、软件剩余缺陷数和软件需求失效概率PFD进行建模,得到软件开发生命周期的软件需求失效概率PFD1,其中,软件开发生命周期包括需求阶段、设计阶段、实现阶段、测试阶段、安装和验收阶段;
S2.采用BBN方法对需求失效概率PFD、测试次数、失效次数和PFD置信度建模,构建PFD可靠性模型,将S1得到的软件需求失效概率PFD1作为需求失效概率PFD的先验分布,将期望的软件需求失效概率PFD2作为需求失效概率PFD的后验分布,使用PFD可靠性模型进行计算,即可获得满足在预定置信度α下期望的软件需求失效概率PFD2所需进行的无故障测试次数;
S3.对软件进行测试,若实际的无故障测试次数小于S2得到的无故障测试次数,则表示软件不可靠,需要进行修改。


2.如权利要求1所述的软件可靠性定量评估方法,其特征在于,S1的具体过程为,
S11.对于软件开发生命周期的每个阶段,开发一个BBN子模型用于评估该阶段完成后软件中存在的缺陷数量,具体地,每个阶段的剩余缺陷数量由3种因素决定:上一阶段的剩余缺陷数,需求阶段作为第一阶段不包含此因素;软件复杂度;软件开发活动和V&V活动的质量,其中,软件复杂度根据软件逻辑图中反馈回路的数量、连接的复杂功能模块的最大数量、连接的功能块的最大数量以及输入和输出的总数来识别;软件开发活动和V&V活动的质量通过对相关的标准和指南进行分析,开发出一系列间接度量指标作为实际质量的指示,也称为指示节点;通过专家对现有软件开发过程和V&V过程可用的历史数据研究,确定BBN模型各节点的条件概率表和先验概率分布;对照标准对待评估软件的开发活动和V&V活动中各指示节点所对应的文档和数据进行评估,输入观察值,便可生成开发活动质量和V&V活动质量节点的质量分布;通过输入BBN模型各指示节点和复杂度节点的观察值,进行运算,即...

【专利技术属性】
技术研发人员:吴一纯蔡源凤王灵芝谢珊
申请(专利权)人:厦门大学
类型:发明
国别省市:福建;35

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1