Abstract
Computer software fails because of the presence of intellectual faults, ranging from simple coding faults to fundamental design faults. In principle, such faults can be permanently removed when they are detected by failure of the software. Then the software will exhibit reliability growth. The problem considered here is the one of forecasting this growth: it includes the estimation of the current reliability of the program from the previous failure data. We begin with a brief description of the software failure process: a non-stationary stochastic process. Several of the best-known software reliability growth models are described, and examples given of their performance on real software failure data. They shown marked disagreement and thus reveal a need for methods of comparing and evaluating software reliability forecasts. Several simple techniques for conducting this evaluation are described and illustrated using several different models on real data sets. Finally, it is shown how in certain circumstances it is possible to improve the predictive accuracy of software reliability models by a re-calibration technique.
This chapter has been published before, see Littlewood, B (1989), Forecasting Software Reliability, Lecture Notes in Computer Science, No. 341, Springer-Verlag, Berlin.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Abdel Chaly, A.A. (1986), Ph D Thesis, City University, London.
Adams, E.N. (1984), Optimizing preventive service of software products, IBM Journal of Research and Development, 28 (No 1).
Aitchison, J. & Dunsmore, I.R. (1975), Statistical Prediction Analysis, Cambridge University Press, Cambridge.
Akaike, H. (1982), Prediction and Entropy, MRC Technical Summary Report, Mathematics Research Center, University of Wisconsin-Madison.
Amman, P.E. & Knight, J.C. (1987), Data diversity: an approach to software fault tolerance, Digest FTCS-17 (17th International Symposium on Fault-Tolerant Computing), 122–126.
Ascher, H. & Feingold, H. (1984), Repairable Systems Reliability, Marcel Dekker, New York.
Braun, H. & Paine, J.M. (1977), A comparative study of models for reliability growth, Technical Report No 126, Series 2, Department of Statistics, Princeton University.
Brocklehurst, S. (1987), On the effectiveness of adaptive software reliability modelling, CSR Technical Report, City University, London.
Chan, P.Y., Littlewood, B. & Snell, J. (1985), Parametric spline approach to adaptive reliability modelling, CSR Technical Report, City University, London.
Cox, D.R. & Lewis, P.A.W. (1966), The Statistical Analysis of Series of Events, Methuen, London.
Crow, L.H. (1977), Confidence interval procedures for reliability growth analysis, Technical Report No197, US Army Material Systems Analysis Activity, Aberdeen, Md.
Dale, C.J. (1982), Software Reliability Evaluation Methods, British Aerospace Dynamics Group, ST-26750.
Dawid, A.P. (1982), The well-calibrated Bayesian, (with discussion), Journal of the American Statistical Association, 77, 605–613.
Dawid, A.P. (1984a), Calibration-based empirical probability, Research Report36, Department of Statistical Science, University College, London.
Dawid, A.P. (1984b), Statistical theory: the prequential approach, Journal of the Royal Statistical Society, A, 147, 278–292.
Dawid, A.P. (1989), Probability Forecasting. In: S. Kotz, N. L. Johnson and C. B. Read (Eds), Encyclopedia of Statistical Sciences, Vol 6, Wiley, New York.
Duane, J.T. (1964), Learning curve approach to reliability monitoring, IEEE Transactions on Aerospace, 2, 563–566.
Forman, E.H. & Singpurwalla, N.D. (1977), An empirical stopping rule for debugging and testing computer software, Journal of the American Statistical Association, 72, 750–757.
Coel, A.L. & Okumoto, K. (1979), Time-dependent error-detection rate model for software reliability and other performance measures, IEEE Transactions on Reliability, 28, 206–211.
Goudie, I. (1984), private communication.
Jelinski, Z. & Moranda, P.B. (1972), Software reliability research. In:W. Freiberger (Ed), Statistical Computer Performance Evaluation, Academic Press, New York, 465–484.
Joe, H. & Reid, N. (1985), Estimating the number of faults in a system, Journal of the American Statistical Association, 80, 222–226.
Keiller, P.A., Littlewood, B., Miller, D.R. & Sofer, A. (1983a), On the quality of software reliability predictions, Proc. NATO ASI on Electronic Systems Effectiveness and Life Cycle Costing (Norwich, UK, 1982 ), Springer, Berlin, 441–460.
Keiller, P.A., Littlewood, B., Miller, D.R. & Sofer, A. (1983b), Comparison of software reliability predictions, Digest FTCS 13 (13th International Symposium on Fault-Tolerant Computing), 128–134.
Kendall, M.G. & Stuart, A. (1961), The Advanced Theory of Statistics, Griffin, London.
Langberg, N. & Singpurwalla, N.D. (1981), A unification of some software reliability models via the Bayesian approach, Technical Report, TM-66571, The George Washington University, Washington DC.
Laprie, J.C. (1984), Dependability evaluation of software systems in operation, IEEE Transactions on Software Engineering, 10.
Littlewood, B. (1979), How to measure software reliability and how not to, IEEE Transactions on Reliability, 28, 103–110.
Littlewood, B. (1981), Stochastic reliability growth: a model for fault-removal in computer programs and hardware designs, IEEE Transactions on Reliability, 30, 313–320.
Littlewood, B. & Keiller, P.A. (1984), Adaptive software reliability modelling, Digest FTCS-14 (14th International Conference on Fault-Tolerant Computing), 108–113.
Littlewoon, B. & Sofer, A. (1985), A Bayesian modification to the Jelinski-Moranda software reliability growth model, CSR Technical Report.
Littlewood, B. & Verrall, J.L. (1973), A Bayesian reliability growth model for computer software, (Applied Statistics), 22, 332–346.
littlewood, B. & Verrall, J.L. (1981), On the likelihood function of a debugging model for computer software reliability, IEEE Transactions on Reliability, 30, 145–148.
Miller, D.R. (1983), private communication.
Miller, D.R. (1986), Exponential order statistic models of software reliability growth, IEEE Transactions on Software Engineering, 12, 12–24.
Musa, J.D. (1975), A theory of software reliability and its application, IEEE Transactions on Software Engineering, 1, 312–327.
Musa, J.D. (1979), Software reliability data, report available from Data and Analysis Center for Software, Rome Air Development Center, Rome, NY.
Nagel, P.M. & Skrivan, J.A. (1981), Software reliability: repetitive run experimentation and modelling, BCS-40399(Dec.), Boeing Computer Services Company, Seattle, Washington.
Rosenblatt, M. (1952), Remarks on a multivariate transformation, Annals of Mathematical Statistics, 23, 470–472.
Shooman, M. (1973), Operational testing and software reliability during program development, in Record. 1973 IEEE Symp. Computer Software Reliability (New York, 1973, April 30-May 2), 51–57.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1991 Springer Science+Business Media Dordrecht
About this chapter
Cite this chapter
Littlewood, B. (1991). Forecasting Software Reliability. In: Sander, P., Badoux, R. (eds) Bayesian Methods in Reliability. Topics in Safety, Reliability and Quality, vol 1. Springer, Dordrecht. https://doi.org/10.1007/978-94-011-3482-8_6
Download citation
DOI: https://doi.org/10.1007/978-94-011-3482-8_6
Publisher Name: Springer, Dordrecht
Print ISBN: 978-94-010-5539-0
Online ISBN: 978-94-011-3482-8
eBook Packages: Springer Book Archive