A two-phase software reliability modeling involving with software fault dependency and imperfect fault removal

Mengmeng Zhu, Hoang Pham

Research output: Contribution to journalArticlepeer-review

44 Scopus citations


Most existing software reliability growth models (SGRMs) often assume software faults are mutually independent and the detected faults can be perfectly removed. However, those two assumptions are not realistic in practice since the dependent faults can also exist in the program. At the same time, it is unlikely to correct all the detected faults in the testing phase due to the limitation of testing resource, the skill and experience of the programmer, and multi-release consideration for software organization. This paper presents a new non-homogeneous Poisson process (NHPP) software reliability model with a pioneering idea by considering software fault dependency and imperfect fault removal. In order to clearly explain software fault dependency, some facts and examples are discussed in Section 1. Two types of software faults are defined, Type I (independent) fault and Type II (dependent) fault, according to fault dependency. Two phases debugging processes, Phase I and Phase II, are proposed according to the debugged software fault type. A small portion of software faults that software testers are not able to remove is also considered in both phases in the proposed model. The illustration of the model effectiveness is based on the three datasets collected from industries. Some limitations of the proposed model are also discussed in the last section.

Original languageEnglish (US)
Pages (from-to)27-42
Number of pages16
JournalComputer Languages, Systems and Structures
StatePublished - Sep 1 2018

All Science Journal Classification (ASJC) codes

  • Software
  • Computer Networks and Communications


  • Imperfect debugging
  • Imperfect fault removal
  • Software fault dependency
  • Software reliability growth model
  • Two-phase software debugging


Dive into the research topics of 'A two-phase software reliability modeling involving with software fault dependency and imperfect fault removal'. Together they form a unique fingerprint.

Cite this