Article ID Journal Published Year Pages File Type
494208 Journal of Systems and Software 2006 15 Pages PDF
Abstract

Reliability is one of the essential quality requirements of software systems, especially for life critical ones. Software reliability modeling provides a means for estimating reliability of software, which facilitates effective decision making for quality control. Existing models either use a black-box approach that is based on test data of the whole system or a white-box approach that uses components’ reliabilities and inter-component interactions. While the black-box approach is applicable to the late phases of software development, the white-box approach can support decisions on early component reuse and later component upgrades and updates. However, the white-box based models have traditionally considered only homogeneous software behaviors. For this reason, we extended the white-box to an architecture-based approach, utilizing the characteristics of architectural styles to capture design information and to realize non-uniform heterogeneous software behaviors. Adhered to the behaviors, a state machine of a discrete-time Markov model is constructed and employed to compute software reliability. Our approach allows reliability to be modeled at architectural design stage to decide components for reuse as well as later testing and maintenance phases for continuous software evolution. In contrast to the black-box approach, the model only needs to retest the influenced portions for a behavioral or structural change, instead of the complete system. This model yields a compelling result after being applied to an industrial real-time component-based financial system. We believe that this architecture-based modeling technique can have a great potential for use to effectively improve software quality.

Related Topics
Physical Sciences and Engineering Computer Science Computer Networks and Communications
Authors
, , ,