贝叶斯缺陷分析模型在软件需求分析中的应用

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

! 曼
堇 堕旦
贝叶斯缺 陷分析模型在软件需求分析 中的应用
◆马裕然 刘俊红 钱振鹏
摘要 :本文提 出了一种以贝叶斯 网络理论为基础 的软件缺 陷分析模 型 ,通
过分析 系统 中存在缺 陷对象-_ eN的影响 关 系构建 了贝叶斯 网络模型 ,利用 已有 . 的经验数据评估 贝叶斯 网络模 型 中各 节点的缺 陷概率分布 ,并与软件 需求分析 阶段相 结合 ,为需求分析人 员提供 了相 关的决策支持 ,取得 了较好 的效果 。 关键词 :软件需求分析 ;贝叶斯 网络 ;缺 陷分析
随着软 件产 业 的迅 速发 展 ,有 效控 制软 件质量 的
计 中软件缺 陷的模型 ;美 国R ME O 实验室提 出的模型 ;
问题 F益突 出,软件 中一个缺陷常会 给各方带来 巨大损 t 失 。美 国相关部 门统计 ,每年软件 缺陷对美 国经济造成
近6 亿 美元 的影响 ,约 占美 国G P .%[。国 内应用 0 D 的06 1 】 软件缺 陷较多 、质量不过关 的情况更是 突出。根据 国家 应用 软件产品质量监督检验 中心 ( NAS 2 0 年全年 T) 0 6 的软件质量检测数据统计 ,软件开发商认 为已经可 以交
C rl mit ao S ds 等人提 出的一种早期预测 的方法 ;基于模
糊神经 网络 的一种早期 预测模 型[ 3 】 。但是 ,上述方法 中
仍然有许多问题悬而未决 ,因为软件开发是一种极其复
杂 的过程 ,软件缺陷数 与许许多多因素有关 ,这些 因素
又相互关联 ,若要做 出准确 的度量就要尽 可能多地考虑
络结构 。
信度值 。有向连接表示它们之间的相关或者推论关系 。 事件本身的不确定性 以节点的信度值表示 ,专家知识的 不确定性 以条件概率表示 。通 过在 贝叶斯 网络 中输人数 据 ,更新节点 的后验信度值 ,则 可以对节点事件进行推 理 。由于 贝叶斯网络的理论推理 中用到 了条件概率及条
复杂 因果关 系网络 图 ,网络 中的每一个节点表示一个变 量 ,即一个事件 ,各变量之间的弧表示事件发生的直接
因果关系。
类 是在软件开发之前 ,通过对以往项 目的缺陷数据进行 分析 ,预测在软件开发 中会出现多少缺陷 。 目前 已公开
发表 的模 型有 以下几 种 : ̄Gafy f 和Da i 出的基 于 n vs 提 阶段的模型 ; ̄A rs 和E ac 提 出的预测A a l get v n o i d 程序设

贝 叶斯 网络
11基本理论 与方法 . 贝叶斯 网络是将贝叶斯概率方法和有向无环 图的网
是一种行之有效 的保证软件质量的方法。在软件缺 陷预
测研究领域 ,人们 开发 出了许 多软件缺陷预测模型[。 2 】
络拓 扑结构有机结合 ,对不确定性知识的表达和推理 的

种模 型。它描述 了数据项及其依赖关系 ,并根据各个
件独立性的概念 ,下面给出相关定义 。 】
3)确定局部概率 分布或局部密度 函数 。对确定 的 网络结构计算每个节点的概率分布 ,包括根节 点的先验 概率分布和 中间节点 的条件概率分布 ,即所谓 的参数估 计 。确定贝叶斯网络 的结构 以后 ,贝叶斯 网络 的参数学
习就变为在给出网络结构和样本数据集 的条件后再计 算 节点的概率分 布问题 。在得到更 多的新数据时 ,贝叶斯 网络可 以利用这些新数据对 网络结构和参数进行更新 。
定义 l 贝叶斯网络使用概率积分表示不确定性 。这
称为条件概率 ,或贝叶斯积分 。条件概率描述为 ,给定 事件 ,事件 发生 的概率 为 ,即
二 、需求分 析 阶段 的贝 叶斯 网络模 型
贝叶斯 网络 ( 也称为信度 网络 、因果 网络或者推理
6 0
信息系统工程 l2 1.加 01 . 7
! 里

蕉 廑旦
二 :
网络 )是一组概率变量 、节点和其间的一组有 向连接 。 每一节点有一组有 限的排他 的状态 ,其似然分配表示为
由专 家知识获得 的贝叶斯网络结构就是最优的贝叶斯 网
这些 模型 大致分 为两类 :一 类是在 软件生 存周期 的后
变量 之间概率关系建立图论模 型 ,是进行数据联合分析
与预测 的有力工具[。在表达不确定性知识方面有着广 4 1
期 ,即软件进入测试 阶段 ,并且 已经得到缺陷数 据 ,根
据这些数Baidu Nhomakorabea预测软件中还有 多少缺 陷的预测模型 ;另一
泛的应用。从直观上讲 ,贝叶斯网络表现为一个 赋值 的

过软件测试探测 软件 中的错误 ,包括单元 测试 、集成测 试等各个级别 测试 ,最终是完成等到最后进行可执行代 码的测试及排 除行为 。随着人们研究的深入 ,人们意识
到除了要测出软件缺 陷外 ,还有必要对软件进行分析 , 管理 ,更有潜力 的方法就是进行缺陷预测 。实验证 明收 集和利用软件 缺陷数据 ,对缺陷数据分析 ,控制 和预测
与之相关 的因素 ,但这样一来又会使得模型变得复杂难 解 ,若要考虑模型的可解性 ,又会将模 型化简 的以至无 法对 问题做 出令人信服的解答 。 本文通过对软件缺陷产生 因素及缺陷产 生的相关原
因进行分析 的基础上 ,构建 了基于软件需求分析 的贝叶
付 使用的软件 ,送交该 中心做 质量检测 ,其 中 ,第 1 次 质量检测就达到质量合格标准的只 占送交检测软件总数
的3 %,需经 2 5 次检测才能合格 的占5 %,经3 5 次检测才 能合格 的 占8 %,经4 次检测 才能合格 的 占2 %。人 们对 预防软件缺陷的重视度越来越高 ,为了生产出高质量 的 软件产品 ,人们想 出了很多方法 ,但大部 分方法都是通
斯网络模型 ,并考虑到软件开发生命周期中需求分析 阶 段的实际情况 ,结合实际项 目数据 ,对软件 可能存在 的 缺陷因素进行 了分析 、计算 。此分析模型实现了尽可能 早地发现与修改缺陷的目的 ,实际应用效果 良好 。
相关文档
最新文档