Title :
Analytical Models for Architecture-Based Software Reliability Prediction: A Unification Framework
Author :
Gokhale, Swapna S. ; Trivedi, Kishor S.
Author_Institution :
Dept. of Comput. Sci. & Eng., Connecticut Univ., Storrs, CT
Abstract :
Traditional approaches to software reliability modeling are black box-based; that is, the software system is considered as a whole, and only its interactions with the outside world are modeled without looking into its internal structure. The black box approach is adequate to characterize the reliability of monolithic, custom, built-to-specification software applications. However, with the widespread use of object oriented systems design & development, the use of component-based software development is on the rise. Software systems are developed in a heterogeneous (multiple teams in different environments) fashion, and hence it may be inappropriate to model the overall failure process of such systems using one of the several software reliability growth models (black box approach). Predicting the reliability of a software system based on its architecture, and the failure behavior of its components, is thus essential. Most of the research efforts in predicting the reliability of a software system based on its architecture have been focused on developing analytical or state-based models. However, the development of state-based models has been mostly ad hoc with little or no effort devoted towards establishing a unifying framework which compares & contrasts these models. Also, to the best of our knowledge, no attempt has been made to offer an insight into how these models might be applied to real software applications. This paper proposes a unifying framework for state-based models for architecture-based software reliability prediction. The state-based models we consider are the ones in which application architecture is represented either as a discrete time Markov chain (DTMC), or a continuous time Markov chain (CTMC). We illustrate the DTMC-based, and CTMC-based models using examples. A detailed discussion of how the parameters of each model may be estimated, and the life cycle phases when the model may be applied is also provided
Keywords :
Markov processes; formal specification; program testing; software architecture; software reliability; analytical model; black box approach; component-based software development; continuous time Markov chain; discrete time Markov chain; object oriented system design; software architecture; software reliability prediction; state-based model; unification framework; Analytical models; Application software; Computer architecture; Life estimation; Object oriented modeling; Phase estimation; Predictive models; Programming; Software reliability; Software systems; Architecture-based analysis; Markov models; semi-Markov models; software reliability; unification framework;
Journal_Title :
Reliability, IEEE Transactions on
DOI :
10.1109/TR.2006.884587