基于非齐次泊松过程的软件可靠性评估贝叶斯推理工具
1. 引言
软件可靠性是软件质量的重要属性之一。在过去的四十年里,许多软件可靠性模型(SRMs)被提出,其中基于非齐次泊松过程(NHPPs)的SRMs在描述软件随时间的故障行为方面非常受欢迎。
可靠性评估通常包括三个阶段:
1. 数据收集 :观察和收集目标软件开发项目的软件度量,如设计度量(代码行数、分支数、代码复杂度等)和测试度量(测试工作量、软件评审次数、软件故障次数等)。若要定量估计软件可靠性,需要软件故障数据。
2. 模型拟合与评估 :将观察到的故障数据用于模型参数的统计估计和模型选择。
3. 模型应用 :使用选定的模型估计软件可靠性函数、剩余软件故障数等可靠性指标。
本文主要关注使用基于NHPP的SRMs进行可靠性评估的第二和第三阶段,即统计参数估计、模型选择标准和定量可靠性度量的计算。
传统上,基于NHPP的SRMs参数的点估计常使用最大似然(ML)估计。但由于软件测试中观察到的故障数量有限,ML估计存在较大的估计误差风险,难以准确计算软件可靠性指标。
贝叶斯统计是一种估计软件可靠性的方法,它需要关于模型参数的先验知识,通过观察数据的似然更新先验信息,生成后验分布。然而,后验分布通常难以计算,除少数情况外,无法得到封闭形式的解,因此需要近似或数值方法。
马尔可夫链蒙特卡罗(MCMC)是一种评估后验分布的通用方法,但不同类型的SRMs需要不同的具体采样算法。本文提出了一种基于Metropolis-Hasting(MH)方