您好,欢迎来到佳博论文网!

基于程序不变量的并发软件可靠性计算

论文摘要

软件可靠性是评估软件系统质量的一个重要属性,传统意义上,一个软件系统的可靠性是根据软件测试的输出计算得到。这样得出的可靠性,存在以下的缺点:1)由于失效数据来自测试的输入或输出,仅反映了系统行为的一部分,如果使用输出来计算可靠性,不能完全反映整个系统的可靠性,因而是不准确的;2)由于测试是基于操作剖面,因此,获得的可靠性是对在某个环境下的一些特定的操作。它可能是充足的,因为系统是在这些特定的操作下运行的。然而,在系统运行时,可能会碰到一些意想不到的环境,使得系统可能出现意外的失效。为了解决上述问题,本文提出了一种新的方法来计算软件系统的可靠性,尤其是并发系统的可靠性。失效的数据来自不变量,本文之所以使用不变量是它们能被用来重建系统的行为。换句话说,尽管它们也来自测试,但程序不变量可以捕获所有的系统行为。本文的方法描述如下:1)根据测试并用Daikon获得程序不变量,然后通过寻找坏的不变量作为失效数据;2)用Nelson可靠性模型和坏的不变量计算序列化程序的可靠性;3)基于并发程序的结构,建立了计算并发程序的可靠性的数学公式;4)运用公式和序列化程序的可靠性来计算整个系统的可靠性。本文的贡献如下:基于并发软件系统的结构,提出了一个计算软件系统可靠性的框架模型;基于程序不变量计算序列化程序的可靠性,使得计算结果更准确;在计算基于组件的软件系统的可靠性中,假设组件间相互独立的条件已被删除。