# Software Engineering | Pham-Nordmann-Zhang Model (PNZ model)

**Pham Nordmann Zhang (PNZ) model** is used to evaluate reliability prediction of a component-based system or a software and fault tolerance structures techniques.PNZ is considered to be one of the best models, which is based on the non homogeneous Poisson process(NHPP).

Our goal is to produce a reliability prediction tool using PNZ models based on reliability predictions and careful analysis of the sensitivity of various models. Therefore PNZ enables us to analyse that how much reliability of a software system can be improved by using fault tolerance structures techniques which are later discussed in this section.

**Assumptions used by PNZ model –**

- The phenomenon of Fault removal is modeled by using Non-Homogeneous-Poisson-Process.
- The software is subjected to failures during the execution which is caused due to faults remaining in the software.
- The introduction rate is a linear function time-dependent overall fault content function.
- An S-shaped curve is formed by Fault removal rate that can be used to understand the learning process of software testers.
- Due to Fault generation, Faults can be introduced in the software during the process of debugging.
- The fault detection rate function is non-decreasing time-dependent with an inflection S-shaped model.

**Theorem:**

Assume that the time-dependent fault content function and error detection rate are, respectively,

where a = a(0) is the parameter for the total number of initial faults that exist in the software before testing, and is the initial per fault visibility or failure intensity. The mean value function of the equation is given by

This model is known as the PNZ model. In other words, the PNZ model incorporates the imperfect debugging phenomenon by assuming that faults can be introduced during the debugging phase at a constant rate of fault per detected fault.

Therefore, the fault content rate function, a(t), is a linear function of the testing time. The model also assumes that the fault detection rate function, b(t), is a nondecreasing S-shaped curve, which may capture the “learning” process of the software testers.