论文部分内容阅读
可靠性是衡量软件质量的重要指标之一。目前软件可靠性计算的方法粗略分为基于可靠性增长模型和基于架构的可靠性模型。基于架构的软件可靠性模型在可靠性计算过程中考虑了软件架构,比单纯采用静态测试得到的输入输出计算的可靠性更准确。但该方法所用的信息来自于单元测试和覆盖测试,并且假定组件的失效是互相独立的。针对上述问题,本文提出了基于服务组合架构(Service Component Architecture,SCA)的软件可靠性计算方法。本文通过使用状态图描述系统行为,在此基础上配置软件系统的SCA架构模型。基于SCA架构模型,推导出模型中所有的可达状态以建立软件系统的有限状态机模型。为了计算软件系统的可靠性,将SCA架构模型中的端口映射到有限状态机中的状态,并进一步计算出每个状态的可靠性以及任意不同状态之间的迁移概率,进而利用这些数据建立离散的Markov模型。本文方法最终利用软件系统的Markov模型计算整个软件系统的可靠性。最后,通过一个实例,从日志文件中得到数据,进而得到状态可靠性,计算状态的迁移概率,建立Markov模型,验证本文方法的有效性。在本文所提可靠性计算方法的基础之上,从组件层面上可以根据系统的可靠性状况来优化软件设计。本文的贡献点如下:(1)基于软件系统的SCA服务组合架构,通过算法推导出其有限状态机。从软件架构导出行为模型,然后用于可靠性计算。(2)实现了状态到系统端口的对应,将有限状态机延伸到离散的Markov模型。因为我们的可靠性计算是在端口层面上,而不是在组件层面上,不需要假设组件间失效独立。(3)借助于可靠性计算结果优化软件设计。通过模拟,我们可以在设计阶段提高软件可靠性,如果低于预期,我们可以找到导致软件可靠性降低的部分,从而优化设计。