论文部分内容阅读
随着信息技术的迅猛发展,计算机已经逐步应用到我们生活的各个领域,软件系统也变得越来越复杂;与此同时,人们对软件产品的质量要求也越来越高。软件可靠性是衡量软件质量的一个重要指标。近几十年来,大量的软件可靠性增长模型被提出,但是大多数模型是建立在一个理想化的假设上,即软件缺陷一旦被检测到,就立即被剔除。然而,实际上剔除时间是不能忽略的,一些缺陷可能需要很长时间才能被剔除。另外,实际软件测试中收集到的数据往往是不完全的。本文总结了在软件测试中常见的不完全数据类型,并重点研究了分组数据条件下的软件可靠性统计推断方法。相对于其他不完全数据,分组数据缺失的信息是最多的,使得在分析上最为困难;但由于分组数据在实际软件测试中的常见性,因此研究分组数据具有非常重要的实际意义。 本文针对软件测试中的缺陷检测和剔除过程研究了分组数据条件下的软件可靠性统计推断方法: 1)基于软件缺陷检测和剔除联合过程,本文建立了一个清晰明了的似然函数。虽然有研究者已经尝试推导其似然函数,但这些似然函数是建立在一些额外的隐含假设上。拟合结果表明,本文所提出的似然方法比原有的似然方法更具普遍适用性且拟合效果更加好。预测结果表明,当数据量不大或在软件测试的早期,本文所提出的似然方法比最小二乘估计方法更好。 2)本文利用EM算法对缺陷检测和剔除过程进行了细致地分析,并提出了数据填充方法来计算模型选择标准AIC和BIC。实例研究表明在均方误差拟合标准下EM算法的拟合结果非常接近于似然方法,且相对于似然方法,EM算法能处理更一般的数据类型且计算速度更快。 3)本文基于Gibbs抽样方法针对缺陷检测和剔除过程进行了贝叶斯统计推断研究。此外,本文还提出了基于似然函数的模型选择标准,有助于选择更适合的软件可靠性模型。模拟研究和实例研究都表明贝叶斯方法能利用先验信息提高拟合能力和预测能力。 上述的软件可靠性统计推断方法不仅有助于工程师和管理人员更好地分配资源、节约成本,而且能帮助决定软件最佳的发行时间。