Let {N(t), t > 0} be a counting process and let be the time between the and the event of this process, .

**Definition:**

If the sequence of non-negative random variables {X1, X2, ….} is independent and

for where is a constant, then the counting process {N(t), t 0} is said to be a quasi-renewal process with parameter and the first inter-arrival time .

When = 1, this process becomes the ordinary renewal process. This quasi-renewal process can be used to model reliability growth processes in software testing phases and hardware burn-in stages for > 1, and in hardware maintenance processes when 1.

**Important formulae related to quasi-renewal processes:**

Assume that the probability density function, cumulative distribution function, survival function and failure rate of random variable, respectively. Then,

- The pdf(probability density function) of Xn for n = 1, 2, 3, … is
- The cdf(cumulative density function) of Xn for n = 1, 2, 3, … is
- The survival function of Xn for n = 1, 2, 3, … is
- The failure rate of Xn for n = 1, 2, 3, … is

Similarly, the mean and variance of Xn is given as

Because of the non-negativity of and the fact that is not identically 0, we obtain

**Proposition-1:**

The shape parameters of are the same for n = 1, 2, 3, … for a quasi-renewal process if follows the gamma, Weibull, or log normal distribution. This means that after “renewal”, the shape parameters of the inter-arrival time will not change. In software reliability, the assumption that the software debugging process does not change the error-free distribution type seems reasonable.

Thus, the error-free times of software during the debugging phase modeled by a quasi-renewal process will have the same shape parameters. In this sense, a quasi-renewal process is suitable to model the software reliability growth. It is worthwhile to note that,

Therefore, if the inter-arrival time represents the error-free time of a software system, then the average error-free time approaches infinity when its debugging process is occurring for a long debugging time.

**Proposition-2:**

The first inter-arrival distribution of a quasi-renewal process uniquely determines its renewal function. If the inter-arrival time represents the error-free time (time to first failure), a quasi-renewal process can be used to model reliability growth for both software and hardware.

Suppose that all faults of software have the same chance of being detected. If the inter-arrival time of a quasi-renewal process represents the error-free time of a software system, then the expected number of software faults in the time interval [0, t] can be defined by the renewal function, m(t), with parameter . Denoted by , the number of remaining software faults at time t, it follows that,

where is the number of faults that will eventually be detected through a software lifecycle Tc.

Attention reader! Don’t stop learning now. Get hold of all the important CS Theory concepts for SDE interviews with the CS Theory Course at a student-friendly price and become industry ready.

## Recommended Posts:

- Software Processes in Software Engineering
- Software Engineering | Introduction to Software Engineering
- Software Engineering | Requirements Engineering Process
- Software Engineering | Re-engineering
- Software Engineering | Reverse Engineering
- Difference between Software Engineering process and Conventional Engineering Processs
- Difference between Forward Engineering and Reverse Engineering
- Software Engineering | Halstead’s Software Metrics
- Software Engineering | Classification of Software Requirements
- Software Engineering | Classification of Software
- Software Engineering | Software Project Management Complexities
- Software Engineering | Role and Responsibilities of a software Project Manager
- Software Engineering | Seven Principles of software testing
- Software Engineering | Agile Software Development
- Software Engineering | Software Maintenance
- Software Engineering | Jelinski Moranda software reliability model
- Software Engineering | Schick-Wolverton software reliability model
- Software Engineering | Software Business and Development
- Software Engineering | Characteristics of good Software
- Software Engineering | Identifying Software Development Metrics

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.