[发明专利]故障检测和引进非线性变化的开源软件可靠性建模方法有效
申请号: | 202010473322.3 | 申请日: | 2020-05-29 |
公开(公告)号: | CN111737113B | 公开(公告)日: | 2021-09-28 |
发明(设计)人: | 王金勇;张策 | 申请(专利权)人: | 山西大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 太原申立德知识产权代理事务所(特殊普通合伙) 14115 | 代理人: | 郭海燕 |
地址: | 030006*** | 国省代码: | 山西;14 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 故障 检测 引进 非线性 变化 软件 可靠性 建模 方法 | ||
本发明属于开源软件可靠性模型技术领域,具体涉及故障检测和引进非线性变化的开源软件可靠性建模方法。包括提出模型假设和模型的建立,所述提出模型假设包括(1)开源软件的故障检测为非齐次泊松过程;(2)在开源软件开发和测试过程中,检测到的故障数量与软件中剩余的故障数量有关;(3)开源软件的故障检测过程是非线性变化的;(4)在开源软件的开发和测试过程中,当检测到的故障被排除后,可能引进新的故障;(5)在开源软件的调试过程中,引入的故障数量随测试时间的变化呈非线性变化。本发明提出的模型具有更好的拟合和预测性能,可以有效地应用于开源软件的可靠性评估。
技术领域
本发明属于开源软件可靠性模型技术领域,具体涉及故障检测和引进非线性变化的开源软件可靠性建模方法。
背景技术
近几十年来,开源软件的开发方式得到了广泛的应用和推广。现在一些著名的软件公司,如微软、阿里巴巴、谷歌、IBM等,都有很多开源软件开发项目。特别是近年来,云计算、大数据等软件密集型系统也采用了开源软件开发模式。由于开源软件能够吸引大量的志愿者和用户在开放的环境中进行开发和使用,使得开源软件的开发和测试变得复杂和不确定。特别是开源软件的可靠性是一个需要深入研究的问题。虽然目前的开源软件普遍采用“早发布,频繁发布”的方法来提高开源软件的可靠性,但这种方法受到广泛的质疑。
为了有效评估开源软件的可靠性,预测开源软件的发布时间,一些研究者进行了相关的研究。例如,Tamura和Yamada利用随机微分方程建立了开源软件的可靠性模型,提出了一种考虑开源软件测试工作量的软件优化发布策略。考虑到OSS开发过程中源代码的变化,Singh等提出了利用信息熵来综合实际开源故障问题和源代码变化,并建立了相应的多版本开源软件可靠性模型。同时,为了满足用户的需求,他们还开发了一个多版本的开源软件优化发布策略。Li等人认为开源软件主要由开发者、志愿者和用户开发。除了开发人员的相对稳定性外,在开源软件的开发过程中,志愿者和用户也在不断变化。通过研究开源软件的发展过程,发现开源软件的故障检测率先上升后下降,并提出了一个相关的开源软件可靠性模型。此外,他们还提出了一种基于多属性效用理论的开源软件多版本优化发布方法。Wang和Mi观察到,在开源软件的开发和测试过程中,故障检测率呈下降趋势。他们提出了一个基于故障检测率下降变化的开源软件可靠性模型。此外,Zhou和Davis利用传统的闭源软件可靠性模型对开源软件的可靠性进行了评估,得出传统的闭源软件可靠性模型也可以用来评估开源软件的可靠性。特别是采用Weibull分布的闭源软件可靠性模型更能适应开源软件的开发环境。
虽然上述软件可靠性模型在一些开源软件开发和测试环境下能够有效地评估开源软件的可靠性,但并不符合实际情况。因为他们假设开源软件检测到的故障被去除时,没有引入新的故障。换句话说,它们都是完美的调试模型。完美调试的假设与实际的开源软件调试过程不符。实际上,在开源软件调试过程中,当检测到故障并排除故障时,很可能会引入新的故障。例如,在开源软件的故障跟踪系统(Bug Tracking Systems)中,一些故障的状态会从关闭变为重新打开。这种状态变化表明开源软件中的故障没有完全消除,或者可能会引入新的故障。考虑到开源软件中引入了故障,更符合开源软件的实际调试过程。而且,开源软件引入故障的变化是一个非线性的变化过程。此外,在闭源软件测试环境中建立了闭源软件可靠性模型,并将其应用于开源软件环境的可靠性评估中,业界对其适用性和合理性提出了质疑。
开源软件故障引入的非线性变化主要是由于调试者的专业技能、调试工具和调试资源的差异或动态变化导致开源软件调试过程中故障引入的随机变化和不确定性行为。因此,在开源软件的调试过程中,故障的引入呈现出非线性变化的现象。此外,在开源软件的开发和测试过程中,(1)受志愿者和用户的兴趣(吸引力)和需求的影响;(2)受志愿者和用户的专业技能、心理变化和测试资源的影响;(3)它受到各种开放环境的影响。这些都将使故障检测率在开源软件的开发和测试过程中呈现出非线性变化的特点。此外,在开源软件的开发和测试过程中,志愿者和用户存在一个学习过程。因此,开源软件的故障检测将呈现非线性变化。针对上述问题,我们提出了一个故障检测和故障引入非线性变化的开源软件可靠性模型。通过相关实验验证了该模型的有效性和适用性。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山西大学,未经山西大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010473322.3/2.html,转载请声明来源钻瓜专利网。