当前位置:
文档之家› 基于贝叶斯估计的软件可靠性综合评估模型
基于贝叶斯估计的软件可靠性综合评估模型
Sof t ware Reliability Integrated Evaluation Model Based on Bayesian Estimation
MA Sa2sa1 , N IN G Ru2yun2
( 11Ordnance Technology Institute , Shijiazhuang 050003 , Hebei , China ; 21Department of Basic Courses , Ordnance Engineering College , Shijiazhuang 050003 , Hebei , China)
摘要 : 软件可靠性定量评估与预测是软件可靠性工程的重要组成部分 。提出利用支持向量机 回归分析方法建立基于软件质量度量的软件可靠性预测模型 ,并将基于贝叶斯估计的现代可信性 理论引入该领域 ,利用可信性因子合理组合基于软件质量度量的软件可靠性预测模型和基于失效 数据的软件可靠性增长模型的评估结果 ,从而全面利用与软件可靠性相关的多方面信息 ,得到更合 理的软件可靠性定量评估结果 。根据方差分解和最优线性非齐次估计给出基于贝叶斯估计的软件 可靠性综合评估模型的数学描述公式 ,并举例说明可信性因子的求取方法 。数据分析表明该模型 具有合理性和可行性 。 关键词 : 系统评估与可行性分析 ; 软件可靠性 ; 支持向量机回归分析 ; 贝叶斯估计 ; 可信性因子 中图分类号 : TP311152 文献标志码 : A 文章编号 : 100021093 ( 2008) 0420440206
0 引言
软件可靠性定量评估是软件可靠性工程的重要 组成部分 , 主要分为两种方法 :其一是分析软件生命 周期全过程中影响软件可靠性的主要因素 , 如软件 复杂度 、 重用代码比例 、 编程语言等 , 并对其进行回 归分析建立基于软件质量度量 ( 程序特性) 的软件可 靠性预测模型 。该方法主要应用在软件开发过程的 不同阶段中 , 其软件可靠性预测参数一般为软件实 际残留缺陷数 、 故障密度 ( 缺陷数/ KL O C ) 等 ; 另一 种方法是以软件可靠性测试阶段得到的失效数据为 基础 , 利用概率及数理统计等数学工具建立分布曲 线数学模型 , 以得到基于失效数据的软件可靠性评 估模型 。该方法主要应用在软件可靠性验证与确认 阶段 , 其软件可靠性评估参数一般为失效强度 、 软件 可靠度等 , 这些参数估计值都是在某置信度和置信 区间范围内存在并有效的 。两种方法出发点不同 , 在软件可靠性分析过程中相互独立进行并应用于软 件生命周期中不同阶段的软件可靠性评估与预测 。 软件可靠性分析工程师在综合分析各种软件可 靠性建模方法后 , 开始认识到 :单独以软件可靠性确 认阶段的失效数据为基础进行可靠性评估 , 或单独 利用软件质量度量和软件生命周期中的影响因子进 行软件可靠性预测 , 都是不准确的 。因为失效数据 无法完全反映软件内部失效机理 , 而软件质量度量 因子也因为缺乏软件可靠性测试阶段的故障信息而 不能完全反映软件内部隐藏的缺陷 。因此 , 如何综 合考虑软件可靠性测试得到的失效数据和软件交付 确认之前的一些历史信息 , 如程序员的技能 、 测试努 力度 、 测试覆盖率和程序规格说明书的改动频率等 , 来建立综合信息模型 , 力图全面考虑影响软件可靠 性的各种信息进行软件可靠性的建模与评估成为一 种新的思路 。 本文首先分析软件开发过程中影响软件可靠性 的主要因子 , 并以支持向量机回归分析 ( SVR) 为数 学工具建立基于软件质量度量的软件可靠性预测模 型 ; 然后利用贝叶斯可信性理论建立软件可靠性综 合评估模型 , 并进行算例分析 。
012 、 014 、 016 、 018 、 110 来取值 。 3) 程序员的技能 。经验决定技能 , 因此利用程
序员从事编程工作的时间作为其计量 :
n i =1
∑I
n
i
,
( 1)
式中 : I i 是第 i 个编程员的工作经历 ( a ) ; n 是编程 员的总数 。
4) 测试努力度 。测试用例数量/ 测试程序的计
( N 为程序长度 ; V 为程序容量 ; V ( G ) 为 McCabe
方法复杂性度量 , 详细定义见文献 [ 4 ]) 作为软件可 靠性预测模型的输入参量 。
2) CMM 评价 。综合软件 CMM 评价的 5 个评
价等级 , 可以对软件开发组织的管理能力 、 开发产品 过程 、 产品质量进行分级评价 , 将其作为影响软件可 靠性的重要因素是必要和合理的 。5 个等级分别用
式中 β=
1
N NSV
0<a < C
i
异直接导致软件中的错误无法被完全发现并排除 , 这在嵌入式实时控制系统软件和安全关键软件中表 现得最为明显 。该测试环境影响因素的度量可遵循 如下方法 :将运行系统划分功能模块 , 将 ( 总功能模 块数 - 软件仿真模块数) / ( 总功能模块数) 作为度量 标准 。因为对于软件可靠性测试而言 , 单纯考虑测 试效果是希望所有测试环境都是由实际运行硬件构 成 , 这样才能达到测试环境与运行环境的高度一致 。 7) 程序规格说明书的改动频率 。规格说明书 描述了系统的功能和性能以及管理该软件项目开发 过程中需要的限制条件 。程序规格说明书的改动直 接导致程序数据与控制流程的变更 , 对软件的可靠 性造成无法预计的恶劣影响 。对该项的度量可从
紧密相关的可测现象 , 而且其数值在软件研制过程 中能相当容易和比较早地得到 , 则在该领域内软件 可靠性可以和维修性 、 可移植性 、 可复用性等其它特 征一样 , 对这些可靠性可测现象进行相关的特征综 合与回归分析得到软件可靠性参数预测结果 。唯象 学预测法是一种从现象到现象的预测方法 , 以大量 现象为依据 , 研究探讨事物发生和发展的规律[ 1 ] 。 首先分析影响软件可靠性的各种因素 。文献
收稿日期 : 2006 - 05 - 09 基金项目 : 总装备部通用装备保障科研项目 (2005 装司字第 580 号) ) ,女 ,工程师 ,博士 。E2mail :sasama @sina. com 作者简介 : 马飒飒 (1971 —
第4期
基于贝叶斯估计的软件可靠性综合评估模型
441
[ 2 ] 对全球包括 A T &T 、 BellCore 、 Chrysler 、 MCI In2
ternational 等 13 家软件开发机构进行整个软件开发
过程中的影响软件可靠性的 32 个主要因素的问卷 调查 , 并根据其对软件可靠性的影响程度进行排序 分析得出结论 :软件复杂性 、 程序员的技能 、 测试努 力度 、 测试覆盖率 、 测试环境和程序规格说明的改动 频率是软件生命周期中影响软件可靠性的最重要的 6 个因素 。其收集信息的来源与数据分析处理方法 是合理和严谨的 。另外本文根据 “过程质量决定产 品质量” 的思想 [ 3 ] , 将软件开发机构的过程度量方 法 :软件能力成熟度模型 ( CMM) 纳入软件可靠性评 价因素中 。 将上述 7 个质量因子进行度量定义如下 : 1) 软件复杂性度量 。综合考虑软件复杂性度 量常用的 KLOC 、 Halstead 和 McCabe 方法选取程序 复杂性度量的 4 个质量因子 ; KL O C , N , V , V ( G)
第 29 卷第 4 期 2 0 0 8年4月
兵 工 学 报 ACTA ARMAMEN TARII
Vol. 29 No. 4 Apr. 2008
基于贝叶斯估计的软件可靠性综合评估模型
马飒飒1 , 宁如云2
(11 军械技术研究所 , 河北 石家庄 050003 ; 21 军械工程学院 基础部 , 河北 石家庄 050003)
( 程序设计规格书中更改的问题报告项总数) / ( 程序
∑
yi -
x ∈S V
j
∑( a j j
a j3 ) K ( xj , xi ) - ε + . ( 7)
1 基于 SVR 的软件可靠性预测模型
111 软件可靠性相关因素分析
算机运行时间可以充分反映测试的努力程度 , 该数 据在软件开发与测试过程中可以获得 。
5) 测试覆盖率 。定义为被测试用例覆盖的程
基于软件质量度量的软件可靠性评估与预测 , 是以软件可靠性分析中的唯象性理论为基础的 。软 件可靠性唯象性理论指出 : 假定存在一些与可靠性
Abstract : Quantitative evaluation and prediction of software reliability are t he important part s of soft2 ware reliability engineering. Support vector machine regression was applied to build up a software reli2 ability prediction model based on t he met rics of software quality , and t he creditability t heory based on Bayesian estimation was int roduced into t he field. By t his means , t he prediction result of software reli2 ability model based on t he met rics of software quality and t he evaluation result of software reliability growt h model based on failure data were combined rationally via t he credibility factor so t hat t he exten2 sive information about software reliability was utilized to obtain a more reasonable evaluation result of software reliability. According to variance disassemble and optimal linear non2homogeneous credibility estimator , t he mat hematic expression of t his software reliability integrated evaluation model based on Bayesian estimation was described in detail , and t he obtaining met hod of credibility factor was illus2 t rated by t he practical example. The simulation experiment indicates t hat t he model possesses reason2 ableness and feasibility. Key words : systematic evaluation and feasibility analysis ; software reliability ; support vector machine regression ; Bayesian estimate ; credibility factor