Skip to main content
Log in

Predicting the types and locations of faults introduced during an imperfect repair process and their impact on reliability

  • Original Article
  • Published:
International Journal of Systems Assurance Engineering and Management Aims and scope Submit manuscript

Abstract

Imperfect debugging of software development faults (called primary faults) will lead to the creation of new software faults denoted secondary faults. Secondary faults are typically fewer in numbers than the initial primary faults and are introduced late in the testing phase. As such it is unlikely that they will be observed during testing and their failure characteristics are unlikely to be assessed accurately. This is an issue since they may possibly display different propagation characteristics than the primary faults that led to their creation. In particular their location will be distributed non-uniformly around the fault being fixed. This paper proposes a methodology to assess the impact of secondary faults on reliability-based on predicting their possible types and locations. The methodology combines a fault taxonomy, code mutation and Bayesian statistics. The methodology is applied to portions of the application software code of a nuclear reactor protection system. This paper concludes with a discussion on the integration of the results within existing Software Reliability Growth Models.

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

  1. Jelinski, Z and Moranda, P (1972) Software Reliability Research. Statistical Computer Performance Evaluation, Academic. Press, New York, pp. 465–484

    Google Scholar 

  2. Goel AL, Okumoto T (1979) Time-dependent error detection rate model for software reliability and other performances measures. IEEE Trans Reliab 28:206–211

    Article  MATH  Google Scholar 

  3. Goel AL (1985) Software reliability models: assumptions, limitations and applicability. IEEE Trans Reliab SE-II: 1411–1423

  4. Ohba M, Chou X (1989) Does Imperfect Debugging Affect Software Reliability Growth? in The 11th International Conference on Software Engineering, Pittsburg, PA, pp. 237–244

  5. Littlewood B (1981) Stochastic reliability-growth: A model for fault removal in computer programs and hardware designs. IEEE Trans Reliab 30(4):313–320

    Article  MathSciNet  Google Scholar 

  6. Yamada S, Tokuno K, Osaki S (1992) Imperfect debugging models with fault introduction rate for software reliability assessment. Int J Sys Sci 23(12)

  7. Zeephongsekul P, Xia G, Kumar S (1994) Softwarereliability growth model: primary-failures generate secondary-faults under imperfect debugging. IEEE Trans Reliab 43(3):408–413

    Article  Google Scholar 

  8. Kapur PK, Younes S (1996) Modelling an imperfect debugging phenomenon in software reliability. Microelectron Reliab 36(5):645–650

    Article  Google Scholar 

  9. Pham H, Nordman L, Zhang X (1999) A general imperfectsoftware-debugging model with S-shaped fault-detection rate. IEEE Trans Reliab 48(2):169–175

    Article  Google Scholar 

  10. Gokhale SS (2004) Software failure rate and reliability incorporating repair policies. in Proceeding of the 10th International Symposium on Software Metrics

  11. Lyu MR (1996) Ed., Handbook of Software Reliability Engineering. New York: McGraw-Hill

    Google Scholar 

  12. Gokhale SS, Philip T, Marinos PN (1996) Non-homogeneous Markov software reliability model with imperfect repair. in Proceedings IEEE International Computer Performance and Dependability Symposium pp. 262–270

  13. Levendel Y (1990) Reliability analysis of large software systems: defect data modeling. IEEE Trans Reliab 16(2): 141–152

    Google Scholar 

  14. Jones C (1996) Software defect-removal efficiency. Computer 29:94–95

    Article  Google Scholar 

  15. Jones C (2008) Software Engineering: The State of the Art in 2008. Software Productivity Research LLC

  16. Zeephongsekul P (1996) Reliability growth of a software model under imperfec debugging and generation of errors. Microelectron Reliab 36(10):1475–1482

    Article  Google Scholar 

  17. Knuth D (1989) The error of Tex. Software: Pract and Exp 19:607–685

    Article  MATH  Google Scholar 

  18. Johnson WL, Soloway E, Cutler B, Draper S (1983) Bug Catalogue I. Yale University

  19. Ploski J (2007) Research Issues in Software Fault Categorization. ACM Sigsoft Software Engineering Notes 32:8

    Article  Google Scholar 

  20. James C (1998) Errors in Language Learning and Use: exploring error analysis. London, UK: Longman: Pearson Education

    Google Scholar 

  21. Park RE (2001) Software Size Measurement: A Framework for Counting Source Statements. Software Engineering Institute, Camegie-Mellon University

  22. Wu L (1997) Application of Functional Modeling to Software Reliability in Materials and Nuclear Engineering. Department of Mechanical Engineering, University of Maryland-College Park

  23. Schank RC, Rieger CJ (1974) Inference and the computer understanding of natural language. Artif Intell 5:373–412

    Article  MATH  Google Scholar 

  24. Allen J (1987) Natural language understanding. Redwood City, CA, USA: Benjamin/Cummings Publishing Company

    Google Scholar 

  25. Offutt AJ (1994) Practical system for mutation testing: help for the common programmer. in Proceeding of the International Test Conference, Altoona, PA, pp. 824–830

  26. Spohrer J (1985) Bug Catalogue: II≈IV. Yale University

  27. Voas JM (1992) PIE: A dynamic failure-based technique. IEEE Trans Software Eng 18:717–727

    Article  Google Scholar 

  28. Li M et al. (2004) Validation of a Methodology for Assessing Software Reliability. in Proceeding of the 15th International Symposium on Software Reliability Engineering, Saint-Malo, France, pp. 66–76

  29. Smidts CS, Li M (2004) Preliminary Validation of a Methodology for Assessing Software Quality. US Nuclear Regulatory Commission NUREG/CR-6848

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Ying Shi.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Shi, Y., Smidts, C. Predicting the types and locations of faults introduced during an imperfect repair process and their impact on reliability. Int J Syst Assur Eng Manag 1, 36–43 (2010). https://doi.org/10.1007/s13198-010-0009-6

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s13198-010-0009-6

Keywords

Navigation