Heterogeneous software reliability modeling

A number of Markov-based software reliability models have been developed for measuring software reliability. However, the application of these models is strictly limited to software that satisfies the Markov properties. The objective of our work is to expand the application domain of the Markov-based models, so that most software can be modeled and software reliability can be measured at the architecture level. To overcome the limitations of Markov properties, our model takes execution history into account and addresses both deterministic and probabilistic software behaviors. Each state represents the executions of one or more components depending on the architectural styles. In addition, the executions of one component are depicted by using distinctive states, when such executions are influenced by past states. Furthermore, we construct loops to eliminate the likelihood of unlimited state expansion and utilize a binomial tree structure to account for all the different execution paths. We show that Markov models are applicable even to software that does not fully satisfy the Markov properties. Therefore, we significantly improve the state of the art in architecture-based software reliability modeling.

[1]  Richard N. Taylor,et al.  A Component- and Message-Based Architectural Style for GUI Software , 1995, 1995 17th International Conference on Software Engineering.

[2]  Ronald L. Rivest,et al.  Introduction to Algorithms , 1990 .

[3]  Michael R. Lyu,et al.  Effect of code coverage on software reliability measurement , 2001, IEEE Trans. Reliab..

[4]  William Farr,et al.  Software reliability modeling survey , 1996 .

[5]  Roger C. Cheung,et al.  A User-Oriented Software Reliability Model , 1978, IEEE Transactions on Software Engineering.

[6]  Mary Shaw,et al.  An Introduction to Software Architecture , 1993, Advances in Software Engineering and Knowledge Engineering.

[7]  Will Tracz,et al.  Domain-specific software architecture (DSSA) frequently asked questions (FAQ) , 1994, SOEN.

[8]  Jesse H. Poore,et al.  Markov analysis of software specifications , 1993, TSEM.

[9]  Ye Wu,et al.  An architecture-based software reliability model , 1999, Proceedings 1999 Pacific Rim International Symposium on Dependable Computing.

[10]  David Garlan,et al.  Exploiting style in architectural design environments , 1994, SIGSOFT '94.

[11]  Robert J. Plemmons,et al.  Nonnegative Matrices in the Mathematical Sciences , 1979, Classics in Applied Mathematics.

[12]  David Garlan,et al.  What Is Style? , 2018, The Writer’s Style.

[13]  Jean-Claude Laprie,et al.  The KAT (Knowledge-Action-Transformation) Approach to the Modeling and Evaluation of Reliability and Availability Growth , 1991, IEEE Trans. Software Eng..

[14]  Alexander L. Wolf,et al.  Acm Sigsoft Software Engineering Notes Vol 17 No 4 Foundations for the Study of Software Architecture , 2022 .

[15]  Swapna S. Gokhale,et al.  An analytical approach to architecture-based software reliability prediction , 1998, Proceedings. IEEE International Computer Performance and Dependability Symposium. IPDS'98 (Cat. No.98TB100248).

[16]  John D. Musa,et al.  Software reliability measurement , 1984, J. Syst. Softw..

[17]  Bev Littlewood,et al.  A Reliability Model for Systems with Markov Structure , 1975 .

[18]  Roger C. Cheung A User-Oriented Software Reliability Model , 1980, IEEE Trans. Software Eng..

[19]  John D. Musa,et al.  Software reliability - measurement, prediction, application , 1987, McGraw-Hill series in software engineering and technology.