一种基于马尔可夫模型的软件可靠性评估方法
2012-12-10刘志祥刘杰李丹云雷
刘志祥,刘杰,李丹,云雷
(工业和信息化部电子第五研究所,广东 广州 510610)
0 引言
软件可靠性的研究起源于Hudson等人的工作,早期的研究主要针对软件测试和现场运行阶段收集的软件失效数据,建立可靠性增长模型。对于软件可靠性模型 (SRM:Software Reliability Model)发展首次起到较重要作用的两个模型,发表于1971年。Shooman模型由M.L.Shooman发表,J-M模型由Z.Jelinski和P.B.Moranda发表。到80年代末,可靠性增长模型的研究达到高潮[1-7]。
SRM的研究在20世纪70年代获得较大的发展后,很多可靠性模型已经投入使用。可以说,软件可靠性建模己经从研究阶段发展到了工程阶段。国内外已提出100多种软件可靠性评价模型,其中以J-M模型、G-O模型、Musa执行时间模型、LV模型和Seeding模型等为典型代表[8-10]。David、Howden、Parnas等人提出了基于经典统计假设理论的测试方法,为安全关键软件的可靠性测评奠定了取样理论基础;而Little wood、Miller等人提出了基于Bayesian统计理论的测试方法。为了改善测试用例开销,Bojan Cukie提出了结合形式化证明和程序动态测试的转换方法。自1972年第一个软件可靠性分析模型发表后的20多年以来,见之于文献的SRM有近百种,与每个模型相应的假设又有几条甚至几十条。这些可靠性模型大致可分为种子法、失效率类、曲线拟合类、可靠性增长模型、程序结构分析模型、输入域分类模型、执行路径分析方法模型、非齐次Poisson过程模型、马尔可夫过程模型和贝叶斯模型等10类[11-14]。
SRM所要解决的问题有两个:改进软件开发过程和软件可靠性的度量。相应地,针对可靠性模型及其应用展开的研究主要集中在两个方面:1)关于软件可靠性早期预测模型的研究;……
