Advertisement

Introduction to Software Reliability Modeling and Its Applications

  • Shigeru Yamada
Chapter
Part of the SpringerBriefs in Statistics book series (BRIEFSSTATIST)

Abstract

Software reliability is one of the most important characteristics of software quality. Its measurement and management technologies during the software life-cycle are essential to produce and maintain quality/reliable software systems. In this chapter, we discuss software reliability modeling and its applications. As to software reliability modeling, hazard rate and NHPP models are investigated particularly for quantitative software reliability assessment. Further, imperfect debugging and software availability models are also discussed with reference to incorporating practical factors of dynamic software behavior. And three software management problems are discussed as an application technology of software reliability models: the optimal software release problem, statistical testing-progress control, and the optimal testing-effort allocation problem.

Keywords

Software product quality/reliability assessment Software reliability growth modeling Nonhomogeneous Poisson process Imperfect debugging  Software availability Markov process Optimal release problem Testing-progress control Testing-effort allocation 

References

  1. 1.
    Kanno, A. (1992). Introduction to software production engineering (in Japanese). Tokyo: JUSE Press.Google Scholar
  2. 2.
    Matsumoto, Y., & Ohno, Y. (Eds.). (1989). Japanese perspectives in software engineering. Singapore: Addison-Wesley.Google Scholar
  3. 3.
    Lyu, M. R. (Ed.). (1996). Handbook of software reliability engineering. Los Alamitos, CA: IEEE Computer Society Press.Google Scholar
  4. 4.
    Pham, H. (2006). System software reliability. London: Springer.Google Scholar
  5. 5.
    Yamada, S., & Ohtera, H. (1990). Software reliability: Theory and practical application (in Japanese). Tokyo: Soft Research Center.Google Scholar
  6. 6.
    Yamada, S. (1994). Software reliability models: Fundamentals and applications (in Japanese). Tokyo: JUSE Press.Google Scholar
  7. 7.
    Yamada, S. (2011). Elements of software reliability—modeling approach (in Japanese). Tokyo: Kyoritsu-Shuppan.Google Scholar
  8. 8.
    Musa, J. D., Iannino, A., & Okumoto, A. (1987). Software reliability: Measurement, prediction, application. New York: McGraw-Hill.Google Scholar
  9. 9.
    Ramamoorthy, C. V., & Bastani, F. B. (1982). Software reliability–status and perspectives. IEEE Transactions on Software Engineering, SE-8, 354–371.Google Scholar
  10. 10.
    Jelinski, Z., & Moranda, P. B. (1972). Software reliability research. In W. Freiberger (Ed.), Statistical computer performance evaluation (pp. 465–484). New York: Academic Press.Google Scholar
  11. 11.
    Wagoner, W. L. (1973). The final report on a software reliability measurement study. Report TOR-0074(4112)-1, Aerospace Corporation.Google Scholar
  12. 12.
    Moranda, P. B. (1979). Event-altered rate models for general reliability analysis. IEEE Transactions on Reliability, R-28, 376–381.Google Scholar
  13. 13.
    Ascher, H., & Feingold, H. (1984). Repairable systems reliability: Modeling, inference, misconceptions, and their causes. New York: Marcel Dekker.MATHGoogle Scholar
  14. 14.
    Yamada, S. (1991). Software quality/reliability measurement and assessment: software reliability growth models and data analysis. Journal of Information Processing, 14, 254–266.Google Scholar
  15. 15.
    Yamada, S., & Osaki, S. (1985). Software reliability growth modeling: Models and applications. IEEE Transactions on Software Engineering, SE-11, 1431–1437.Google Scholar
  16. 16.
    Goel, A. L., & Okumoto, K. (1979). Time-dependent error-detection rate model for software reliability and other performance measures. IEEE Transactions on Reliability, R-28, 206–211.Google Scholar
  17. 17.
    Goel, A. L. (1980). Software error detection model with applications. Journal of Systems and Software, 1, 243–249.CrossRefGoogle Scholar
  18. 18.
    Yamada, S., & Osaki, S. (1984). Nonhomogeneous error detection rate models for software reliability growth. In S. Osaki & Y. Hatoyama (Eds.), Stochastic models in reliability theory (pp. 120–143). Berlin: Springer.CrossRefGoogle Scholar
  19. 19.
    Yamada, S., Osaki, S., & Narihisa, H. (1985). A software reliability growth model with two types of errors. R. A. I. R. O. Operations Research, 19, 87–104.MATHGoogle Scholar
  20. 20.
    Yamada, S., Ohba, M., & Osaki, S. (1983). S-shaped reliability growth modeling for software error detection. IEEE Transactions on Reliability, R-32, 475–478, 484.Google Scholar
  21. 21.
    Yamada, S., Ohba, M., & Osaki, S. (1984). S-shaped software reliability growth models and their applications. IEEE Transactions on Reliability, R-33, 289–292.Google Scholar
  22. 22.
    Ohba, M. (1984). Inflection S-shaped software reliability growth model. In S. Osaki & Y. Hatoyama (Eds.), Stochastic models in reliability theory (pp. 144–162). Berlin: Springer.CrossRefGoogle Scholar
  23. 23.
    Ohba, M., & Yamada, S. (1984). S-shaped software reliability growth models. In Proceedings of the 4th International Conference on Reliability and Maintainability (pp. 430–436).Google Scholar
  24. 24.
    Yamada, S., Ohtera, H., & Narihisa, H. (1986). Software reliability growth models with testing-effort. IEEE Transactions on Reliability, R-35, 19–23.Google Scholar
  25. 25.
    Yamada, S., Hishitani, J., & Osaki, S. (1993). Software-reliability growth with a Weibull test-effort function. IEEE Transactions on Reliability, R-42, 100–106.Google Scholar
  26. 26.
    Ohtera, H., Yamada, S., & Ohba, M. (1990). Software reliability growth model with testing-domain and comparisons of goodness-of-fit. In Proceedings of the International Symposium on Reliability and Maintainability (pp. 289–294).Google Scholar
  27. 27.
    Yamada, S., Ohtera, H., & Ohba, M. (1992). Testing-domain dependent software reliability growth models. Computers & Mathematics with Applications, 24, 79–86.MathSciNetCrossRefMATHGoogle Scholar
  28. 28.
    Musa, J. D., & Okumoto, K. (1984). A logarithmic Poisson execution time model for software reliability measurement. In Proceedings of the 7th International Conference on Software Engineering (pp. 230–238).Google Scholar
  29. 29.
    Okumoto, K. (1985). A statistical method for software quality control. IEEE Transactions on Software Engineering, SE-11, 1424–1430.Google Scholar
  30. 30.
    Kanno, A. (1979). Software engineering (in Japanese). Tokyo: JUSE Press.Google Scholar
  31. 31.
    Mitsuhashi, T. (1981). A method of software quality evaluation (in Japanese). Tokyo: JUSE Press.Google Scholar
  32. 32.
    Shoomam, M. L. (1983). Software engineering: Design, reliability, and management. New York: McGraw-Hill.Google Scholar
  33. 33.
    Ohba, M., & Chou, X. (1989). Does imperfect debugging affect software reliability growth? In Proceedings of the 11th International Conference on Software Engineering (pp. 237–244).Google Scholar
  34. 34.
    Shanthikumar, J. G. (1981). A state- and time-dependent error occurrence-rate software reliability model with imperfect debugging. In Proceedings of the National Computer Conference (pp. 311–315).Google Scholar
  35. 35.
    Ross, S. M. (1996). Stochastic processes. New York: Wiley.MATHGoogle Scholar
  36. 36.
    Yamada, S., & Miki, T. (1998). Imperfect debugging models with introduced software faults and their comparisons (in Japanese). Transactions of IPS Japan, 39, 102–110.Google Scholar
  37. 37.
    Yamada, S. (1998). Software reliability growth models incorporating imperfect debugging with introduced faults. Electronics and Communications in Japan, 81, 33–41.Google Scholar
  38. 38.
    Xie, M. (1991). Software reliability modeling. Singapore: World Scientific.Google Scholar
  39. 39.
    Laprie, J.-C., Kanoun, K., Béounes, C., & Kaániche, M. (1991). The KAT (Knowledge-Action-Transformation) approach to the modeling and evaluation of reliability and availability growth. IEEE Transactions on Software Engineering, 17, 370–382.CrossRefGoogle Scholar
  40. 40.
    Laprie, J.-C., & Kanoun, K. (1992). X-ware reliability and availability modeling. IEEE Transactions on Software Engineering, 18, 130–147.CrossRefGoogle Scholar
  41. 41.
    Tokuno, K., & Yamada, S. (1995). A Markovian software availability measurement with a geometrically decreasing failure-occurrence rate. IEICE Transactions on Fundamentals of Electronics, Communications and Computer Sciences, E78-A, 737–741.Google Scholar
  42. 42.
    Okumoto, K., & Goel, A. L. (1978). Availability and other performance measures for system under imperfect maintenance. In Proceedings of the COMPSAC ’78 (pp. 66–71).Google Scholar
  43. 43.
    Kim, J. H., Kim, Y. H., & Park, C. J. (1982). A modified Markov model for the estimation of computer software performance. Operations Research Letters, 1, 253–257.CrossRefMATHGoogle Scholar
  44. 44.
    Tokuno, K., & Yamada, S. (1997). Markovian software availability modeling for performance evaluation. In A. H. Christer, S. Osaki, & L. C. Thomas (Eds.), Stochastic modeling in innovative manufacturing (pp. 246–256). Berlin: Springer.CrossRefGoogle Scholar
  45. 45.
    Tokuno, K., & Yamada, S. (2007). User-oriented and -perceived software availability measurement and assessment with environment factors. Journal of Operations Research Society of Japan, 50, 444–462.MathSciNetMATHGoogle Scholar
  46. 46.
    Tokuno, K., & Yamada, S. (2011). Codesign-oriented performability modeling for hardware-software systems. IEEE Transactions on Reliability, 60, 171–179.CrossRefGoogle Scholar
  47. 47.
    Tokuno, K., & Yamada, S. (1997). Markovian software availability modeling with two types of software failures for operational use. In Proceedings of the 3rd ISSAT International Conference on Reliability and Quality in Design (pp. 97–101).Google Scholar
  48. 48.
    Tokuno, K., & Yamada, S. (2001). Markovian modeling for software availability analysis under intermittent use. International Journal of Reliability, Quality and Safety Engineering, 8, 249–258.CrossRefGoogle Scholar
  49. 49.
    Tokuno, K., & Yamada, S. (1998). Operational software availability measurement with two kinds of restoration actions. Journal of Quality in Maintenance Engineering, 4, 273–283.CrossRefGoogle Scholar
  50. 50.
    Cho, B. C., & Park, K. S. (1994). An optimal time for software testing under the user’s requirement of failure-free demonstration before release. IEICE Transactions on Fundamentals of Electronics, Communications, and Computer Sciences, E77-A, 563–570.Google Scholar
  51. 51.
    Foreman, E. H., & Singpurwalla, N. D. (1979). Optimal time intervals for testing-hypotheses on computer software errors. IEEE Transactions on Reliability, R-28, 250–253.Google Scholar
  52. 52.
    Kimura, M., & Yamada, S. (1995). Optimal software release policies with random life-cycle and delivery delay. In Proceedings of the 2nd ISSAT International Conference on Reliability and Quality in Design (pp. 215–219).Google Scholar
  53. 53.
    Koch, H. S., & Kubat, P. (1983). Optimal release time for computer software. IEEE Transactions on Software Engineering, SE-9, 323–327.Google Scholar
  54. 54.
    Okumoto, K., & Goel, A. L. (1980). Optimum release time for software system based on reliability and cost criteria. Journal of Systems and Software, 1, 315–318.CrossRefGoogle Scholar
  55. 55.
    Yamada, S. (1994). Optimal release problems with warranty period based on a software maintenance cost model (in Japanese). Transactions of IPS Japan, 35, 2197–2202.Google Scholar
  56. 56.
    Yamada, S., Kimura, M., Teraue, E., & Osaki, S. (1993). Optimal software release problem with life-cycle distribution and discount rate (in Japanese). Transactions of IPS Japan, 34, 1188–1197.Google Scholar
  57. 57.
    Yamada, S., & Osaki, S. (1987). Optimal software release policies with simultaneous cost and reliability requirements. European Journal of Operational Research, 31, 46–51.MathSciNetCrossRefMATHGoogle Scholar
  58. 58.
    Kimura, M., Toyota, T., & Yamada, S. (1999). Economic analysis of software release problems with warranty cost and reliability requirement. Reliability Engineering and System Safety, 66, 49–55.CrossRefGoogle Scholar
  59. 59.
    Yamada, S., & Kimura, M. (1999). Software reliability assessment tool based on object-oriented analysis and its application. Annals of Software Engineering, 8, 223–238.CrossRefGoogle Scholar
  60. 60.
    Kubat, P., & Koch, H. S. (1983). Managing test procedures to achieve reliable software. IEEE Transactions on Reliability, R-32, 299–303.Google Scholar
  61. 61.
    Ohtera, H., & Yamada, S. (1990). Optimal allocation and control problem for software testing-resources. IEEE Transactions on Reliability, R-39, 171–176.Google Scholar
  62. 62.
    Yamada, S., Ichimori, T., & Nishiwaki, N. (1995). Optimal allocation policies for testing-resource based on a software reliability growth model. Mathematical and Computer Modeling, 22, 295–301.CrossRefMATHGoogle Scholar
  63. 63.
    Bazaraa, M. S., & Shetty, C. M. (1979). Nonlinear programming: Theory and algorithms. New York: Wiley.MATHGoogle Scholar

Copyright information

© The Author(s) 2014

Authors and Affiliations

  1. 1.Graduate School of EngineeringTottori UniversityTottoriJapan

Personalised recommendations