一种贝叶斯软件可靠性验证测试方法及其计算机辅助工具技术

技术编号:7759023 阅读:234 留言:0更新日期:2012-09-14 00:51
本发明专利技术提出一种贝叶斯软件可靠性验证测试方法及其计算机辅助工具,测试方法针对离散型和连续型两种软件,构造了基于减函数法的先验分布函数,在此基础上构造单层有先验的贝叶斯软件可靠性验证测试方法,再对先验分布函数中的超参数构建先验分布函数,构造多层无先验的贝叶斯软件可靠性验证测试方法。本发明专利技术计算机辅助工具包括先验数据收集管理模块、失效数据导入模块、先验信息计算模块、验证测试方案生成模块、录入验证测试失效数据模块及结果输出模块,实现基于减函数法的单层先验分布的贝叶斯软件可靠性验证测试。本发明专利技术更加适用于高可靠软件的可靠性验证测试,提高了验证测试的效率。

【技术实现步骤摘要】

本专利技术属于软件可靠性工程领域,尤其涉及软件可靠性测试领域,具体地说,是指一种基于减函数法的多层先验分布函数的贝叶斯软件可靠性验证测试方法及其计算机辅助工具
技术介绍
软件可靠性验证测试是用户在接收软件时,确定软件当前的可靠性水平是否满足软件开发合同、任务书或需求规格说明书中规定的用户要求而进行的测试,其对于软件尤其是安全关键软件的可靠性保证具有非常重要的意义。软件可靠性验证测试方案是软件可靠性验证测试方法的核心组成部分,其决定了软件可靠性验证测试的执行方式以及可靠性 指标的验收标准。目前,国内外针对安全关键软件的可靠性验证测试方案的研究成果已有很多。已经授权的中国专利201010161608. 4号公开了 “一种基于测试框架的软件测试方法”,其通过针对一系列软件构建一个基础测试框架,完成同一系列软件的测试问题,通过测试过程中对框架的实例化和框架复用,解决了软件测试领域中测试质量受资源限制明显的问题。已经授权的中国专利200910147769. 5号公开了 “一种实时嵌入式软件自动化闭环测试方法”,其利用基于编程语言实时扩展的实时嵌入式软件测试描述语言的灵活特性,及其执行引擎的可嵌入性、移植性和实时运行特性,可完成实时测试运行中测试人员与被测系统的实时反馈处理,实现实时嵌入式软件的自动化闭环测试。但是这些验证测试方案应用于具有高可靠指标要求的安全关键软件(以下简称高可靠软件)时,仍然会呈现出很多的局限性,例如所需要的测试用例数量庞大、验证测试时间冗长,导致在有限的测试资源下,某些高可靠软件的可靠性验证测试很难开展。因此,如何改进现有的针对高可靠软件的可靠性验证测试方案,降低验证测试所需的测试用例或测试时间,是目前国内外软件可靠性工程领域的研究热点和难点之一。基于贝叶斯理论的软件可靠性验证测试方法是迄今为止最为成熟且最为有效的针对高可靠软件的可靠性验证测试方法之一。此类验证测试方法的核心是软件可靠性参数(失效概率或失效率)的先验分布函数构造问题。有研究表明,若能够获得有效的先验信息,从而准确地估计出先验函数的参数,则基于贝叶斯理论的软件可靠性验证测试方法可以在保证验证结果置信度的前提下,有效地降低测试用例量、缩短测试时间。现有的贝叶斯方案中,通常选用共轭分布函数来确定软件可靠性参数的先验分布。之所以选取共轭分布函数来构建先验分布函数,是为了简化后验分布函数的推导过程,但并没有考虑高可靠软件的可靠性参数的特点,所以由共轭分布法构造的先验分布函数未必适合描述高可靠软件的可靠性参数的先验分布情况。减函数法是一种新的先验分布构造方法,其核心思想是选取可靠性参数的减函数作为先验分布函数的核函数,这符合高可靠软件失效概率(或失效率)取较大值的可能性小、取较小值的可能性大的特点,因此适用于构造高可靠软件可靠性参数的先验分布函数。目前,现有技术中还没有给出如何利用减函数法进行高可靠软件可靠性参数的多层先验分布函数的构造来确定贝叶斯方案,并且应用于有失效和无失效数据情况的软件可靠性验证测试领域中。
技术实现思路
本专利技术为了解决现有的高可靠软件可靠性验证测试效率低的问题,在基于贝叶斯理论的软件可靠性验证测试方法的基础上,提出一种贝叶斯软件可靠性验证测试方法及其计算机辅助工具。本专利技术构造了基于减函数法的先验分布密度函数,该先验分布密度函数更加符合高可靠软件可靠性参数(失效概率或失效率)的特点,基于先验分布密度函数提出了基于减函数法的单层有先验的贝叶斯软件可靠性验证测试方法。另外,本专利技术还针对所构造的先验分布密度函数中的超参数构建先验分布函数,从而提出基于减函数法的多层无先验的贝叶斯软件可靠性验证测试方法。本专利技术提供的一种贝叶斯软件可靠性验证测试方法,具体通过以下步骤实现步骤一、收集测试数据,并判断被测软件为离散型软件还是连续型软件,若是连续型软件,执行步骤二 ;若是离散型软件,转步骤五执行。步骤二、调入用户给定的验证指标,并选择是进行单层贝叶斯可靠性验证测试还是进行多层贝叶斯可靠性验证测试,若选择单层贝叶斯方法,执行步骤三,若选择多层贝叶斯方法,执行步骤四。步骤三、对于连续型软件,如果选择的是单层贝叶斯方案,采用基于减函数法的单层有先验的连续型贝叶斯软件可靠性验证测试方法进行可靠性验证测试,具体是首先选取失效率X的一个减函数构造先验分布密度函数,然后利用软件可靠性增长测试过程后期收集的测试数据对先验分布密度函数的超参数进行估计,并确定后验分布密度函数,最后确定测试所需的连续执行时间。步骤四、对于连续型软件,如果选择的是多层贝叶斯方案,采用基于减函数法的多层先验分布的连续型贝叶斯软件可靠性验证测试方法进行可靠性验证测试,具体是首先选取失效率的一个减函数构造第一层先验分布密度函数,再为第一层先验分布密度函数的超参数选择先验分布密度函数,得到多层先验分布密度函数,然后求解多层后验分布密度函数,并最终确定测试所需的连续执行时间。步骤五调入用户给定的验证指标,并选择进行单层贝叶斯可靠性验证测试还是进行多层贝叶斯可靠性验证测试,若选择单层贝叶斯可靠性验证测试,执行步骤六,若选择多层贝叶斯可靠性验证测试,执行步骤七。步骤六、对于离散型软件,如果选择的是单层贝叶斯方案,采用基于减函数法的单层有先验的离散型贝叶斯软件可靠性验证测试方法进行测试验证。首先选取失效概率的一个减函数构造先验分布密度函数,然后利用软件可靠性增长测试过程后期的测试数据对先验分布密度函数的超参数进行估计,并求解后验分布密度函数,最后确定单层先验分布函数的贝叶斯软件可靠性验证测试方案,也就是测试所需的测试用例数量。步骤七、对于离散型软件,如果选择的是多层贝叶斯方案,采用基于减函数法的多 层先验分布的离散型贝叶斯软件可靠性验证测试方法进行可靠性验证测试。首先选取失效概率的一个减函数构造第一层先验分布密度函数,再为第一层先验分布密度函数的超参数选择先验分布密度函数,得到多层先验分布密度函数,然后求解多层后验分布密度函数,并最终确定多层先验分布函数的贝叶斯软件可靠性验证测试方案,也就是确定测试所需的测 试用例数量。步骤八、根据被测软件特点和可靠性测试要求搭建可靠性测试环境,构造操作剖 面,并根据测试所需的连续执行时间或者测试用例数量,生成相应数量的可靠性测试用例。步骤九、执行步骤八中生成的测试用例,并收集失效数据。步骤十、结合验证测试方案和步骤九中收集的失效数据,得到接收或拒收结论,并 停止测试。根据执行结果,判断当前被测软件是否满足可靠性验证的要求,若不满足,则得 出拒收结论,若满足,则得出接收结论。本专利技术步骤三中提供的基于减函数法的单层有先验的连续型贝叶斯软件可靠性 验证测试方法具体通过以下步骤实现步骤3. 1、先验分布密度函数的选取。假设连续型软件的失效率\是一个随机变量,依据减函数法,选取\的一个典型 减函数e_aA作为其先验分布密度函数的核,其中a是待估计的超参数。本专利技术中以泊松分 布为例进行了方法的阐述,其它分布可参照本专利技术中给出的步骤自行推导。因此,入的先验分布密度函数的具体形式为权利要求1.一种贝叶斯软件可靠性验证测试方法,其特征在于,包括如下步骤 步骤I :收集测试数据,并判断被测软件为离散型软件还是连续型软件,若是连续型软件,执行步骤2 ;若是离本文档来自技高网
...

【技术保护点】

【技术特征摘要】
...

【专利技术属性】
技术研发人员:李秋英李海峰陆民燕王学成
申请(专利权)人:北京航空航天大学
类型:发明
国别省市:

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

1