基于BBNs的软件故障预测方法(1)
2014-06-30 01:04
导读:计算机应用论文论文,基于BBNs的软件故障预测方法(1)怎么写,格式要求,写法技巧,科教论文网展示的这篇文章是很好的参考:
摘 要:本文在分析已有软件故障预测方法后指出:代写论文单纯
摘 要:本文在分析已有软件故障预测方法后指出:代写论文单纯从软件开发过程的某个阶段或基于几种度量来预测软件故障是不充分的.提出综合利用软件开发过程信息构建基于BBNs软件故障预测模型.本文从一个基本的贝叶斯信念网(BBNs)故障预测模型出发,扩展基本节点,得到了一个较完善的故障预测模型,结合已有的关于软件度量的研究成果,提出利用软件度量和专家知识确定节点状态概率分布.仿真实验结果表明该模型与实际情况相符合,具有一定的故障预测能力.
关键词: 软件故障预测;贝叶斯信念网;软件度量
1 引言
当前关于软件故障预测的研究大都集中于
软件工程领域的某个方面,代写毕业论文 如面向对象系统中利用各种度量属性建立模型预测故障数和故障倾向,利用测试过程中用例的覆盖率预测模块故障,利用专家经验建立专家知识库预测故障等等.软件故障的原因贯穿于软件开发全过程,仅从一个方面来考察软件故障是不充分的.近十几年备受关注的贝叶斯网络(BBNs)对于解决复杂系统不确定因素引起的故障具有很大的优势,被认为是目前不确定知识表达和推理领域最有效的理论模型.本文提出基于BBNs的故障预测方法,综合利用软件开发过程信息预测软件故障.
2 软件故障预测的研究现状
预测故障的方法可以分为两大类:(1)基于数量的技术,关注预测软件系统中的故障数;代写硕士论文 (2)基于分类的技术,关注于预测哪些子系统具有故障倾向.第一类已经有一些研究,但是开发一个有效的模型比较困难.第二类方法更成功一些.利用软件度量来预测故障倾向是一个重要的趋势和研究内容,当前的预测模型涉及软件设计度量,代码度量和测试度量.软件维护的历史数据,例如软件改变历史[1]和过程质量数据[2]也被用于软件故障预测.很多专家认为开发过程的质量是产品质量(这里默认是残留故障密度)最好的预测器.Ahmed E.Hassan等人提出利用启发式规则预测软件子系统故障倾向[3].还有文献提出利用测试过程中的各种数据(如测试覆盖率)来预测故障[2].
您可以访问中国科教评价网(www.NsEac.com)查看更多相关的文章。
分析已有的故障预测模型,它们大多基于软件开发过程中的某一个或几个阶段的数据,或者基于一种或者几种度量,如软件复杂性度量和测试度量.但显而易见,影响软件质量的关键因素不仅仅是其几个度量.软件故障与软件开发全过程往往具有不确定的因果关联关系,导致软件故障的因素很多,单纯从软件开发过程的某个阶段或基于几种度量来预测软件故障是不充分的.BBNs本身是一种不确定性因果关联模型,具有强大的不确定性问题处理能力,能有效进行多源信息表达与融合.因此本文提出基于BBNs构建软件故障预测模型,综合利用软件开发过程信息预测软件故障.
3 贝叶斯网络
一个BBNs是一个有向无环图,由代表变量的节点及连接这些节点的有向边构成.节点代表随机变量,可以是任何问题的抽象,代写
医学论文 如问题复杂度,观测现象,意见征询等.节点间的有向边代表了节点间的相互关联关系.有向图蕴涵了条件独立性假设,用A(vi)表示非vi后代节点构成的任何节点集合,用∏(vi)表示vi的直接双亲节点集合,则P(vi|(A(vi)∪∏(vi)))=P(vi|∏(vi)).用条件概率表(conditional probabilities table,CPT)来描述点与点之间关联,条件概率表可以用P(vi|∏(vi))来描述,它表达了节点同其父节点的相关关系———条件概率.没有任何父节点的节点概率为其先验概率.图1用BBNs描述了一个简单的关于软件产品质量的例子[4],产品质量由管理能力和开发能力确定,表1为其CPT.BBNs对构造者的信念(专家知识和经验)建模,基于这个模型它能够提供精确的
数学计算和预测.
4 基于BBNs的软件故障预测方法
将BBNs应用于软件故障预测的步骤是:(1)确定变量及其顺序;(2)建立BBNs结构;(3)确定BBNs的参数(CPT).本文从软件开发过程来建立一个BBNs基本模型,并以此模型为基础扩展节点.
(科教作文网http://zw.nseAc.com) 4·1 一个BBNs故障预测的基本模型
影响软件项目风险的基本因素可分为两组,一是与组织相关的因素,包括组织文化,管理经验和能力以及过程成熟度.二是与项目相关的因素[4].影响软件故障的基本因素可以描述为图2的基本模型.方框是可以扩展的基点.“项目特征”和“验证和确认”影响到软件开发的需求分析,设计,实现和测试过程,软件故障受开发过程的影响,这个模型涵盖了软件开发过程