Skip to main content
Log in

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

  • Published:
Software Quality Journal Aims and scope Submit manuscript

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  • 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 

  • Defamie, M., Jacobs, P., and Thollembeck, J. 1999. Software reliability: Assumptions, realities and data, Proc. of International Conference on Software Maintenance, September.

  • 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 

  • 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 

  • Goel, A.L. 1985. Software reliability models: Assumptions, limitations and applicability, IEEE Trans. on Software Engineering SE-11(12): 1411-1423.

    Google Scholar 

  • 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.

  • Gokhale, S. and Trivedi, K.S. 1999. A time/structure based software reliability model, Annals of Software Engineering 8: 85-121.

    Google Scholar 

  • 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.

  • 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.

  • Gokhale, S. 2003. Optimal software release time incorporating fault correction, Proc. of 28th IEEE/NASA Workshop on Software Engineering, Annapolis, MD, December.

  • 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 

  • 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 

  • Kenney, G.Q. 1993. Estimating defects in commercial software during operational use, IEEE Trans. on Reliability 42(1): 107-115.

    Google Scholar 

  • Kremer, W. 1983. Birth and death bug counting, IEEE Trans. on Reliability R-32(1): 37-47.

    Google Scholar 

  • Kulkarni, V.G. 1995. Modeling and Analysis of Stochastic Systems. New York, Chapman-Hall.

    Google Scholar 

  • Levendel, Y. 1990. Reliability analysis of large software systems: Defect data modeling, IEEE Trans. on Software Engineering 16(2): 141-152.

    Google Scholar 

  • 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.

  • Ohba, M. and Chou, X. 1989. Does imperfect debugging affect software reliability growth?, Proc. of Intl. Conference on Software Engineering, April, pp. 237-244.

  • 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.

  • 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 

  • Scheidewind, N.F. 2003. Fault correction profiles, Proc. of Intl. Symposium on Software Reliability Engineering, Denver, CO, November, pp. 257-267.

  • Schneidewind, N.F. 2002. An integrated failure detection and fault correction model, Proc. of Intl. Conference on Software Maintenance, December, pp. 238-241.

  • 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 

  • Trivedi, K.S. 2001. Probability and Statistics with Reliability, Queuing and Computer Science Applications. Wiley.

  • 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.

  • 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 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Gokhale, S.S., Lyu, M.R. & Trivedi, K.S. Analysis of Software Fault Removal Policies Using a Non-Homogeneous Continuous Time Markov Chain. Software Quality Journal 12, 211–230 (2004). https://doi.org/10.1023/B:SQJO.0000034709.63615.8b

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/B:SQJO.0000034709.63615.8b

Navigation