[发明专利]一种基于多版本的开源软件可靠性建模方法有效
申请号: | 202110866232.5 | 申请日: | 2021-07-29 |
公开(公告)号: | CN113609009B | 公开(公告)日: | 2023-09-22 |
发明(设计)人: | 王金勇 | 申请(专利权)人: | 山西大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F17/13;G06F17/12 |
代理公司: | 太原申立德知识产权代理事务所(特殊普通合伙) 14115 | 代理人: | 程园园 |
地址: | 030006*** | 国省代码: | 山西;14 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 版本 软件 可靠性 建模 方法 | ||
本发明属于计算机软件技术领域,公开了一种基于多版本的开源软件可靠性建模方法。针对开源软件故障检测存在的各种变化,提出了故障检测服从三参数寿命分布的开源软件可靠性模型。利用两个开源软件故障数据集、五个模型比较准则和五个开源软件可靠性模型进行了相应的模型性能比较实验。实验结果表明,与其他开源软件可靠性模型相比,本发明开源软件可靠性模型具有更好的拟合性能和预测性能。此外,该模型能更好地适应各种开源软件故障检测环境,并能帮助开发人员对开源软件的可靠性进行评估。
技术领域
本发明属于计算机软件技术领域,具体为一种基于多版本的开源软件可靠性建模方法。
背景技术
开源软件(Open Source Software,OSS)在过去的几十年中被广泛使用。由于开源软件的开发和测试主要由世界各地的志愿者和用户来完成,其可靠性成为一个热门话题。为了解决开源软件的可靠性问题,一般采用“早发布,常发布”的方法来提高和增强开源软件的可靠性,保持开源软件对社区贡献者的吸引力,满足用户不断变化的需求。
一方面,早发布和频繁发布的方法可以在一定条件下提高开源软件的可靠性。另一方面,由于开源软件发布的主观性和随意性很强,这种方法能否有效提高开源软件的可靠性受到广泛质疑。另外,由于开源软件开发和测试环境的复杂性,故障检测也呈现出多样性和复杂性。而且,由于开源社区志愿者和用户的不断动态变化,开源软件的故障检测也呈现出多种特点。
现有的开源软件可靠性建模研究主要集中在开源软件开发测试的单一特性和特定条件下的可靠性建模。虽然上述开源软件可靠性模型能够有效地评估开源软件在一定条件下的可靠性,但复杂的开发环境和不确定的开发过程使其无法适应实际的开源软件可靠性评估。由于开源软件开发环境的复杂性和开发过程的不确定性,其故障检测率会发生很大的变化。例如,故障检测率随着时间的推移而降低;随着时间的推移,故障检测率先上升后下降;由于开源软件社区的学习,故障检测率随着时间的推移而增加;故障检测率是一个常数;或故障检出率呈浴缸状曲线。因此,考虑到开源软件开发测试过程的单一特点和具体情况,由此建立的开源软件可靠性模型不能适应开源软件测试过程中故障检测的多样性和复杂性。
发明内容
针对开源软件开发环境的复杂性和开发过程的不确定性导致故障检测率会发生很大变化的问题,本发明提供了一种基于多版本的开源软件可靠性建模方法。
为了达到上述目的,本发明采用了下列技术方案:
一种基于多版本的开源软件可靠性建模方法,包括以下步骤:
步骤1,基于多版本的开源软件可靠性模型的建立
开源软件的开发过程可以看作是非齐次泊松过程,表示为下式:
其中,P{·}表示概率,N(t)表示计数过程,ψ(t)表示到t时刻为止,期望检测出故障的累计数量,也称为均值函数,t表示时间变量;k表示故障数量,k=1,2,...,n;
考虑到开源软件开发和测试的特点和复杂性,假设:
1)开源软件的故障检测服从三参数寿命分布;
2)在开源软件中,前一版本中的剩余故障与当前版本中新生成的故障有关;
3)开源软件检测到的瞬时故障与软件中的剩余故障有关;
4)当检测到开源软件中的故障时,会立即将其去除,不会引入新的故障;
根据假设1)和3)可得:
其中,c0和d0表示形状参数;b0表示尺度参数;η(t)表示故障检测率函数,ω表示期望最初检测出故障总的数量;
对公式(2)解微分方程组,可以得出:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山西大学,未经山西大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110866232.5/2.html,转载请声明来源钻瓜专利网。