Open In App
Related Articles
• Write an Interview Experience
• Software Engineering Tutorial

# Software Engineering | Schick-Wolverton software reliability model

Prerequisite – Jelinski Moranda software reliability model

The Schick-Wolverton (S-W) model is a modification to the J-M model. It is similar to the J-M model except that it further assumes that the failure rate at the ith time interval increases with time ti since the last debugging. In the model, the program failure rate function between the (i-1)th and the ith failure can be expressed as $$\lambda (t_i)=\phi [N-(i-1)]t_i$$, where \phi and N are the same as that defined in the J-M model and ti, is the test time since the (i-1)th failure. The pdf(probability distribution function) of t_i can be obtained as follows: $$f(t_i)=\phi [N-(i-1)]t_ie^{\frac{[N-(i-1)]t_i^2}{2}} \; \; for \;i=1, 2, …, N$$ Hence, the software reliability function is $$R(t_i)=e^{- \int_0^{t_i} \lambda (t_i)dt_i }$$ $$=e^{-\frac{\phi [N-(i-1)]t_i^2}{2}}$$ We now wish to estimate N assuming that \phi is given. Using the MLE method, the log likelihood function is given by, $ln L(N) &=ln\left \{ \prod_{i=1}^nf(t_i)\right \}\\$ $$&=ln\left \{ \prod_{i=1}^n\left [ \phi [N-(i-1)]t_ie^{\frac{[N-(i-1)]t_i^2}{2}\right ]\right \}\\$$ $$&=nln\phi + \sum_{i=1}^nln[N-(i-1)]+\sum_{i=1}^nlnt_i-\sum_{i=1}^n\phi [N-(i-1)]\frac{t_i^2}{2}\\$$ $$Taking the first derivative with respect to N, we have,$$ \frac{\partial}{\partial N}[ln L(N)]=\sum_{i=1}^n \frac{1}{N-(i-1)}-\phi \sum_{i=1}^n \frac{t_i^2}{2}=0 $$Therefore, the MLE of N can be obtained by solving the following equation:$$\sum_{i=1}^n \frac{1}{N-(i-1)}= \phi \sum_{i=1}^n \frac{t_i^2}{2}$$Next, we assume that both N and ? are unknown. Hence we obtain,$$\frac{\partial}{\partial \phi}[ln L(N, \phi )]=\sum_{i=1}^n \frac{1}{N-(i-1)}-\phi \sum_{i=1}^n \frac{t_i^2}{2}=0$$and$$\frac{\partial}{\partial \phi}[ln L(N, \phi )]=\frac{n}{\phi }-\sum_{i=1}^n [N-(i-1)]\frac{t_i^2}{2}=0$$Therefore, the MLEs of N and \phi can be found by solving the two equations simultaneously as follows:$$\phi = 2\sum_{i=1}^n \frac{1}{[N-(i-1)]T}N=\frac{2n}{\phi T}+\frac{\sum_{i=1}^n (i-1)t_i^2}{T}$$where$$T=\sum_{i=1}^n t_i^2

The Schick-Wolverton (SW) software reliability model is a mathematical model used to predict the reliability of a software system. The model is based on the idea that the failure rate of a software system changes over time as faults are detected and corrected.

The SW model uses the following equation to calculate the software reliability at a given time t:

R(t) = R(0) * exp(-Σf(t))

where R(t) is the reliability of the software system at time t, R(0) is the initial reliability of the software system, Σf(t) is the cumulative failure rate of the system, and t is the time elapsed since the software was first put into operation.

### The SW model has several assumptions, including:

The failure rate of the software system changes over time as faults are detected and corrected.
The software system can be modeled as a series of independent components, each with its own failure rate.
The cumulative failure rate of the system is the sum of the failure rates of the individual components.
The SW model has been widely used in software engineering for predicting the reliability of software systems and for making decisions about software testing and maintenance. It is considered to be a more sophisticated and accurate model than the Jelinski-Moranda model, as it takes into account the changing nature of the failure rate over time. However, it requires more information about the software system, such as the failure rate of individual components, which can be difficult to obtain.

The Schick-Wolverton software reliability model is a mathematical model used to predict the reliability of software systems. It was developed by Robert W. Schick and Mark A. Wolverton in 1978 and is based on the assumption that the rate of software failures follows a Poisson distribution.

### The model calculates the expected number of software failures based on three factors:

1. Fault density: The number of faults per unit of code.
2. Execution time: The amount of time the software is expected to run before failure.
3. Error detection rate: The rate at which faults are detected and corrected.

The Schick-Wolverton model assumes that the fault density and error detection rate are constant over time, and that the software system is operating in a steady-state condition.

The model can be used to predict the number of failures that are likely to occur over a given period of time, and to estimate the time required to achieve a desired level of reliability. The model can also be used to identify areas of the software that are most likely to fail, and to prioritize testing and debugging efforts.

One limitation of the Schick-Wolverton model is that it assumes a constant error detection rate, which may not be accurate in practice. Additionally, the model does not take into account factors such as software complexity, hardware reliability, or user behavior, which can also affect the reliability of the software system.

Overall, the Schick-Wolverton model is a useful tool for predicting software reliability, but it should be used in conjunction with other techniques and methods for software testing and quality assurance.