
中
ComputerEngineeringandApplications计算机工程与应用
考虑系统调用和失效模式的软件可靠性模型薛利兴,左德承,张
展
XUE Lixing, ZUO Decheng, ZHANG Zhan
哈尔滨工业大学计算机科学与技术学院,哈尔滨150001
School of Computer Science and Technology, Harbin Institute of Technology, Harbin 150001, China
2014,50(9)
5
XUE Lixing, ZUO Deeheng, ZHANG Zhan. Software reliability analysis model incorporating system calls and multiple failure modes, Computer Engineering and Applications, 2014, 50(9) : 5-11.
Abstract : Reliability is one of the essential quality requirements of software systems, while software reliability analysis modeling provides a means for estimating reliability of software, which facilitates effective decision making for quality control. Whether models based on the black-box approach which attracts much attention or models based on the white-box approach which is focused on recently, they all attempt to formulate more accurate models of software reliability. However, these models only consider the user code itself regardless of the runtime environment and ignore the influence of the underlying operating system. In this paper, system calls which the software has to depend on are incorporated, multiple failure modes (failures in kernel mode & failures in user mode) are considered and the behavior of error propagation is modeled. By expanding the classic software reliability model step by step, a more accurate model is developed. Then this model is demonstrated in detail by an example.
Key words: software reliability; system call; failure mode; error propagation; Markov process
摘
要:可靠性是软件系统质量需求中的一个重要指标,而软件可靠性建模为人们提供了一种评估软件可靠性的方
法,能够在软件质量控制方面有效地提供决策依据,无论是经受到广泛关注的黑盒方法,还是现在大量研究的白盒方法,这些模型都试图越来越精确地刻画软件的可靠性。
然而,这些模型都是将软件独立在运行环境之外,只是
纯释地、抽象地考点软件本身,完全息略了软件所依赖的操作系统和运行环境对可靠性的影响,将软件运行所依赖的系统调用纳入了考虑范畴,考虑了软件中的多种失效模式(内核态失效,用户态失效),同时对系统中的错误传播
描了该模型的如何应用。
关键词:软件可靠性;系统调用;失效模式;错误传播;马尔可夫过程
文献标志码:A
引言 1
中图分类号:TP311
doi: 10.3778/j.issn.1002-8331.1308-0206
应用之中。
可靠性通常是软件质量要求中的一个关键指标.回时也是保证软件在使用过程中正确运行的度量"。随着各种各样的计算机设备已经成为日常生活中重要的组成部分,人们发现软件的失效不再只是软件工程师的事情,还会给我们带来种种不便甚至更严重的后果。因此,可靠性越来越受到人们的重视,尤其是在一些关键
当前的软件开发多数是基于组件或模块进行的,但软件整体并不是各个模块的简单相加,每个模块都可能对全局的可靠性产生不同的影响。软件可靠性分析利用软件的整体架构、软件运行剖面、以及每个模块的可靠性搭建数学模型,进而分析软件整体的可靠性。模型一方面可以在设计阶段根据架构、控制流、已知组件可
基金项目:国家自然科学基金(No.61173020,No.61003047);国家"863"高技术研究发展计划重大项目课题(No.2013AA01A205):
中央高校基本科研业务费专项资金(No.HIT.NSRIF.2014)
作者筒介:薛利兴(1983一),男,博士研究生,研究领域为容错计算;左德承(1972一),男,博士,教授,博士生导师,研究领域为容错
计算、移动计算;张展(1978一),男,博士,副教授,研究领域为容错计算、移动计算。E-mail:xuelixing@ftcl.hit.edu.cn
收稿日期:2013-08-15
修回目期:2013-10-16
文章编号:1002-8331(2014)09-0005-07
[89