Some successful approaches to software reliability modeling in industry

Over the past three years, we have been actively engaged in both software reliability growth modeling and architecture-based software reliability modeling for projects at Lucent Technologies. Our goal has been to include software into the overall reliability evaluation of a product design using either or both of these two fundamentally different approaches. During the course of our application efforts to real projects, we have identified practical difficulties with each approach. The application of software reliability growth models, for example, is plagued by widespread use of ad hoc test environments, and the use of architecture-based software reliability models is plagued by a large number of unknown parameters. In this paper, we discuss our methods for overcoming these and other practical difficulties. In particular, we show how calibration factors can be defined and used to adjust for the mismatch between the test and operational profiles of the software. We also present two useful ways to do sensitivity analyses that help alleviate the problem of so many uncertainties in the architecture-based modeling approach. We illustrate our methods with case studies, and offer comments on further work that is required to more satisfactorily bridge the gap between theory and applications in this research area.

[1]  Wilhelm Kremer,et al.  Birth-Death and Bug Counting , 1983, IEEE Transactions on Reliability.

[2]  Shunji Osaki,et al.  Stochastic Models in Reliability Theory , 1984 .

[3]  Swapna S. Gokhale,et al.  Reliability prediction and sensitivity analysis based on software architecture , 2002, 13th International Symposium on Software Reliability Engineering, 2002. Proceedings..

[4]  A. Wood,et al.  Predicting Software Reliability , 1996, Computer.

[5]  Dai Pan,et al.  Architecture-based software reliability modeling , 2006, J. Syst. Softw..

[6]  Hoang Pham Software Reliability , 1999 .

[7]  H. Pham,et al.  On the Maximum Likelihood Estimates for the Goel–Okumoto Software Reliability Model , 2001 .

[8]  Amrit L. Goel,et al.  Time-Dependent Error-Detection Rate Model for Software Reliability and Other Performance Measures , 1979, IEEE Transactions on Reliability.

[9]  Xuemei Zhang,et al.  An NHPP Software Reliability Model and Its Comparison , 1997 .

[10]  Hoang Pham,et al.  Calibrating software reliability models when the test environment does not match the user environment , 2002 .

[11]  Veena B. Mendiratta Reliability analysis of clustered computing systems , 1998, Proceedings Ninth International Symposium on Software Reliability Engineering (Cat. No.98TB100257).

[12]  Dong Tang,et al.  Quantitative reliability and availability assessment for critical systems including software , 1997, Proceedings of COMPASS '97: 12th Annual Conference on Computer Assurance.

[13]  John D. Musa,et al.  Software Reliability Engineering , 1998 .

[14]  Daniel R. Jeske,et al.  A BAYESIAN METHODOLOGY FOR ESTIMATING THE FAILURE RATE OF SOFTWARE , 2000 .

[15]  Shigeru Yamada,et al.  S-Shaped Reliability Growth Modeling for Software Error Detection , 1983, IEEE Transactions on Reliability.

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

[17]  Katerina Goseva-Popstojanova,et al.  Architecture-based approach to reliability assessment of software systems , 2001, Perform. Evaluation.

[18]  AMRIT L. GOEL,et al.  A Markovian model for reliability and other performance measures of software systems* , 1979, 1979 International Workshop on Managing Requirements Knowledge (MARK).

[19]  Kishor S. Trivedi,et al.  Performance and reliability evaluation of passive replication schemes in application level fault tolerance , 1999, Digest of Papers. Twenty-Ninth Annual International Symposium on Fault-Tolerant Computing (Cat. No.99CB36352).

[20]  Xuemei Zhang,et al.  Accounting for realities when estimating the field failure rate of software , 2001, Proceedings 12th International Symposium on Software Reliability Engineering.

[21]  Prudence T. Zacarias Kapauan,et al.  Modeling and analysis of using memory management unit to improve software reliability , 2001, Proceedings 12th International Symposium on Software Reliability Engineering.