Software Quality Journal

, Volume 12, Issue 3, pp 211–230 | Cite as

Analysis of Software Fault Removal Policies Using a Non-Homogeneous Continuous Time Markov Chain

  • Swapna S. Gokhale
  • Michael R. Lyu
  • Kishor S. Trivedi


Software reliability is an important metric that quantifies the quality of a software product and is inversely related to the residual number of faults in the system. Fault removal is a critical process in achieving desired level of quality before software deployment in the field. Conventional software reliability models assume that the time to remove a fault is negligible and that the fault removal process is perfect. In this paper we examine various kinds of fault removal policies, and analyze their effect on the residual number of faults at the end of the testing process, using a non-homogeneous continuous time Markov chain. The fault removal rate is initially assumed to be constant, and it is subsequently extended to cover time and state dependencies. We then extend the non-homogeneous continuous time Markov chain (NHCTMC) framework to include imperfections in the fault removal process. A method to compute the failure intensity of the software in the presence of explicit fault removal is also proposed. The fault removal scenarios can be easily incorporated using the state-space view of the non-homogeneous Poisson process.

software reliability fault removal non-homogeneous continuous time Markov chain 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. Dalal, S.R. and Mallows, C.L. 1990. Some graphical aids for deciding when to stop testing software, IEEE Trans. on Software Engineering 8(2): 169-175.Google Scholar
  2. Defamie, M., Jacobs, P., and Thollembeck, J. 1999. Software reliability: Assumptions, realities and data, Proc. of International Conference on Software Maintenance, September.Google Scholar
  3. Farr, W. 1996. Software reliability modeling survey: Handbook of Software Reliability Engineering, ed. M.R. Lyu, pp. 71-117, New York, McGraw-Hill.Google Scholar
  4. Goel, A.L. and Okumoto, K. 1979. Time-dependent error-detection rate models for software reliability and other performance measures, IEEE Trans. on Reliability R-28(3): 206-211.Google Scholar
  5. Goel, A.L. 1985. Software reliability models: Assumptions, limitations and applicability, IEEE Trans. on Software Engineering SE-11(12): 1411-1423.Google Scholar
  6. Gokhale, S. and Trivedi, K.S. 1998. Log-logistic software reliability growth model, Proc. of High Assurance Systems Engineering (HASE 98), Washington, DC, November, pp. 34-41.Google Scholar
  7. Gokhale, S. and Trivedi, K.S. 1999. A time/structure based software reliability model, Annals of Software Engineering 8: 85-121.Google Scholar
  8. Gokhale, S., Philip, T., Marinos, P.N., and Trivedi, K.S. 1996. Unification of finite failure non-homogeneous Poisson process models through test coverage, Proc. of Intl. Symposium on Software Reliability Engineering (ISSRE 96), White Plains, NY, October, pp. 289-299.Google Scholar
  9. Gokhale, S., Marinos, P.N., Trivedi, K.S. and Lyu, M.R. 1997. Effect of repair policies on software reliability, Proc. of Computer Assurance (COMPASS 97), Gatheirsburg, MD, June, pp. 105-116.Google Scholar
  10. Gokhale, S. 2003. Optimal software release time incorporating fault correction, Proc. of 28th IEEE/NASA Workshop on Software Engineering, Annapolis, MD, December.Google Scholar
  11. Jelinski, Z. and Moranda, P.B. 1972. Software reliability research: Statistical Computer Performance Evaluation, ed. W. Freiberger, pp. 465-484, New York, Academic Press.Google Scholar
  12. Kapur, P.K., Sharma, K.D., and Garg, R.B. 1992. Transient solutions of software reliability model with imperfect debugging and error generation, Microelectronics and Reliability 32(1): 475-478.Google Scholar
  13. Kenney, G.Q. 1993. Estimating defects in commercial software during operational use, IEEE Trans. on Reliability 42(1): 107-115.Google Scholar
  14. Kremer, W. 1983. Birth and death bug counting, IEEE Trans. on Reliability R-32(1): 37-47.Google Scholar
  15. Kulkarni, V.G. 1995. Modeling and Analysis of Stochastic Systems. New York, Chapman-Hall.Google Scholar
  16. Levendel, Y. 1990. Reliability analysis of large software systems: Defect data modeling, IEEE Trans. on Software Engineering 16(2): 141-152.Google Scholar
  17. Lyu, M.R. and Nikora, A.P. 1992. CASRE—a computer-aided software reliability estimation tool, CASE '92 Proceedings, Montreal, Canada, July, pp. 264-275.Google Scholar
  18. Ohba, M. and Chou, X. 1989. Does imperfect debugging affect software reliability growth?, Proc. of Intl. Conference on Software Engineering, April, pp. 237-244.Google Scholar
  19. Ramani, S., Gokhale, S., and Trivedi, K.S. 1998. SREPT: Software reliability estimation and prediction tool, 10th International Conference on Modelling Techniques and Tools for Computer Performance Evaluation—Performance Tools 98, Palma de Mallorca, Spain, September, pp. 27-36.Google Scholar
  20. Sahner, R.A., Trivedi, K.S., and Puliafito, A. 1996. Performance and Reliability Analysis of Computer Systems: An Example-Based Approach Using the SHARPE Software Package. Boston, Kluwer Academic.Google Scholar
  21. Scheidewind, N.F. 2003. Fault correction profiles, Proc. of Intl. Symposium on Software Reliability Engineering, Denver, CO, November, pp. 257-267.Google Scholar
  22. Schneidewind, N.F. 2002. An integrated failure detection and fault correction model, Proc. of Intl. Conference on Software Maintenance, December, pp. 238-241.Google Scholar
  23. Sumita, U. and Shantikumar, G. 1986. A software reliability model with multiple-error introduction and removal, IEEE Trans. on Reliability R-35(4): 459-462.Google Scholar
  24. Trivedi, K.S. 2001. Probability and Statistics with Reliability, Queuing and Computer Science Applications. Wiley.Google Scholar
  25. Wood, A. 1997. Software reliability growth models: Assumptions vs. reality, Proc. of 8th Intl. Symposium on Software Reliability Engineering, Albuquerque, NM, November, pp. 136-141.Google Scholar
  26. Yamada, S., Ohba, M., and Osaki, S. 1983. S-shaped reliability growth modeling for software error detection, IEEE Trans. on Reliability R-32(5): 475-485.Google Scholar

Copyright information

© Kluwer Academic Publishers 2004

Authors and Affiliations

  • Swapna S. Gokhale
    • 1
  • Michael R. Lyu
    • 2
  • Kishor S. Trivedi
    • 3
  1. 1.Department of Computer Science and EngineeringUniversity of ConnecticutStorrsUSA
  2. 2.Computer Sciences and Engineering DepartmentThe Chinese University of Hong KongShatinHong Kong
  3. 3.Department of Electrical and Computer EngineeringDuke UniversityDurhamUSA

Personalised recommendations