Smerfs and Smerfs^3

The concept of "software reliability" and its measurement is receiving a lot of attention in the software development community. With the ever increasing role that software is playing in today's and tomorrow's world, the software developers and users are asking: "Just how 'good' is the software?" and "How much testing should be done before the software is released?. The software reliability methodology attempts to provide quantitative measures to help answer these questions. To date, over 75 software reliability models have appeared in the literature to address these questions, and the number of models is increasing. These models, however, require sophisticated numerical procedures to obtain estimates of the model parameters. This necessitates the use of a computer. This was the purpose of the development of the program called the Statistical Modeling and Estimation of Reliability Functions for Software (SMERFS). It was an interactive program for software reliability modeling that provided a computer based tool to the software analyst to perform a software reliability analysis. That program has undergone a number of revisions of the years. The current version is 5. It has incorporated eleven of the most used models appearing in the literature; six using as input data the time between error occurrences and five using the number of detected errors per testing period. The former include: Littlewood and Verrall's Bayesian Model, Moranda's Geometric Model, John Musa's Basic Execution Time Model and his Logarithmic Poisson Model, the Jelinski-Moranda Model, and an adaptation of Goel's Non-Homogeneous Poisson Process (NHPP) Model to time between error data. The latter models include: the Generalized Poisson Model, Goel's NHPP Model, Brooks and Motley's Model, Yamada's S-shaped Growth Model, and Norman Schneidewind's Model with a feature to determine the optimum data subset for prediction. The program allows the user to perform a complete software reliability analysis. It allows the user to enter either of the two types of model data, modify that data if necessary including transforming it, doing a preliminary model analysis to help select candidate models that are most appropriate for the entered data set, fitting the appropriate models, and then determining the adequacy of the fits. SMERFS allows the user to perform risk analyses with some of these measures to help determine the optimum release time and/or time for reengineering of the software. By being interactive in nature the program allows the user the option of trying different models and varying the data to obtain the best model fit upon which to base various software reliability measures. These measures include: remaining number of errors, mean time-to-failure, expected number of fault detections over the next testing period, projected operational reliability, etc. SMERFS^3 is the newest evolution of SMERFS. It is a strictly PC windows based application program that will allow the user to do hardware, software, and/or total systems reliability analyses. The aim is to do both component and systems level assessment. With the emphasis on systems engineering, developers have realized that a total systems perspective for reliability is needed rather than just component-level analysis. Currently all of the functionality available in SMERFS for software reliability analysis discussed above is carried over into SMERF^3 (version 2). Many more features, however, have been added or are planned. For hardware reliability analysis, the user will be able to fit any of the following models to ones data: exponential, rayleigh, weibull, reliability growth projection models (discrete and continuous versions), a discrete reliability growth model and a continuous reliability growth tracking model. For systems reliability assessment, two models are planned; the hyperexponential and a markov model. For both the hardware and systems components of the program, similar features to the software part will be available (risk assessment, prediction, and model adequacy). This software package has a graphical user interface for rapid modeling and analysis. Version 2 is available from the author now. Future versions will incorporate the hardware and systems components as funding becomes available. Contact Dr. Farr for further information.