[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.5555/800099.803188acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
Article
Free access

How to measure software reliability, and how not to

Published: 10 May 1978 Publication History

Abstract

This paper examines critically, with a view to stimulating a discussion, some concepts which have been used in early work on software reliability measurement, and suggests improvements and areas of potentially fruitful future research. It is proposed that hardware-motivated measures such as mttf, mtbf should not be used for software without justification, and it is shown that such justification may be lacking under quite unexceptionable circumstances. Alternative methods of measuring software reliability are proposed. Emphasis is placed upon differentiating between two concepts of software reliability which are often blurred in the work of previous authors. These are, on the one hand, the reliability of the program-as-it-is (the number of bugs it contains), on the other, the reliability of the program-as-it-performs (failure rate, distribution of time to next failure, etc.). It is argued that the latter, here called operational reliability, is the one we should use. Measures of operational reliability which avoid use of mttf, etc., are proposed. A case is made for software engineers adopting a Bayesian stand-point:both in the interpretation of probability statements and in inference procedures. It is suggested that reliability modelling solely in terms of failures (or number of bugs) is unnecessarily naive. Interest really centres upon the consequences of failures as much as on their frequency. It is proposed that more effort be devoted to the development of models which incorporate a cost (or utility) structure. Finally, brief consideration is given to the question of program structure. The enormous success of hardware reliability theory, in combining component reliabilities with knowledge of system sturcture, must be emulated for software. Unfortunately, software structure does not easily lend itself to such an exercise. Some existing models are considered.

References

[1]
BARLOW, R.E. and PROSCHAN,F., Mathematical Theory of Reliability. New York: Wiley, 1965.
[2]
BUZEN, J.P., CHEN,P.P. and GOLDBERG,R.P., "Virtual machine techniques for improving system reliability", in Record. 1973 IEEE Symposium on Computer Software Reliability, New York, N.Y.,Apr. 30-May 2, 1973, pp. 12-17.
[3]
CHUNG, K.L., "A course in Probability Theory". New York : Harcourt, Brace and World, 1968.
[4]
COX,D.R., "Renewal Theory". London:Methuen, 1962.
[5]
JELINSKI,Z. and MORANDA,P.B., "Software reliability research", in Statistical Computer Performance Evaluation, Ed.: W. Freiberger. New York : Academic, 1972, pp. 465-484.
[6]
LITTLEWOOD,B., "MTBF is meaningless in software reliability", (letter) IEEE Trans. on Reliability, April 1975, p.82.
[7]
LITTLEWOOD,B., "A reliability model for Markov structured software", in Proceedings of the 1975 International Conference on Reliable Software, Los Angeles, Cal., April 21-23, 1975, pp.204-207.
[8]
LITTLEWOOD,B., "A reliability model for systems with Markov structure", Applied Statistics (J. Royal Statist. Soc., Series C) Vol.24, No.2, 1975, pp. 172-177.
[9]
LITTLEWOOD,B., "A semi-Markov model for software reliability with failure costs", in Proceedings of the Symposium on Computer Software Engineering, New York, N.Y., April 20-22, 1976, pp. 281-300.
[10]
LITTLEWOOD,B. and VERRALL,J.L., "A Bayesian reliability growth model for computer software", Applied Statistics (J. Royal Statist. Soc., Series C) Vol.22, No.3, 1973, pp. 332-346.
[11]
LITTLEWOOD,B. and VERRALL,J.L., "A Bayesian reliability model with a stochastically monotone failure rate", IEEE Trans. on Reliability, Vol. R-23, No.2, June 1974, pp. 108-114.
[12]
LITTLEWOOD,B. and VERRALL,J.L., "A Bayesian reliability growth model for computer software", same source as {2}, pp. 70-76.
[13]
MILLS,H.D., "On the development of large programs", same source as {2}, pp. 155-159.
[14]
MILLS,H.D., "How to write correct programs and know it ", same source as {7}, pp. 363-370.
[15]
MORGAN,D.E, and TAYLOR,D.J., "A survey of methods of achieving reliable software", Computer, Vol. 10, No. 2, February 1977, pp. 44-53
[16]
MUSA,J.D., "A theory of software reliability and its application", IEEE Trans, on Software Engineering, Vol. SE-1, No. 3, September 1975, pp. 312-327.
[17]
SHOOMAN,M., "Probabilistic models for software reliability and prediction", same source as {5}, pp. 485-502.
[18]
SHOOMAN,M., "Operational testing and software reliability estimation during program development", same source as {2}, pp. 51-57.
[19]
SHOOMAN,M., "Structural models for software reliability prediction", in Proc. 2nd International Conference on Software Engineering, San Francisco, Oct. 1976, pp. 268-280.
[20]
SHOOMAN, M. and NATARAJAN,S., "Effect of manpower deployment and bug generation on software error models", same source as {9}, pp. 155-170. For those readers who are not familiar with the Bayesian approach, the following two references may be useful:
[21]
LINDLEY,D.V., Introduction to Probability and Statistics from a Bayesian Viewpoint; Part 1, Probability; Part 2; Inference. London : Cambridge U.P., 1965.
[22]
DE GROOT,M.H., Optimal Statistical Decisions. New York : McGraw-Hill, 1970. I am grateful to a referee for the following references:
[23]
LLOYD,D.K. and LIPOW,M., Reliability : Management Methods and Mathematics, published by the authors, 207 Calle Miramar, Redondo Beach, CA 90278, 2nd Edition, 1977, Chapter 17. This chapter deals with aspects of reliability I have not touched upon, e.g. phenomenological reliability measurements (Halstead {24}), and the effect of representativeness of testing.
[24]
HALSTEAD,M.H., Elements of Software Science, Elsevier, 1977.

Cited By

View all
  • (2017)Towards collective online and offline testing for dynamic software product line systemsProceedings of the 2nd International Workshop on Variability and Complexity in Software Design10.5555/3106050.3106053(9-12)Online publication date: 20-May-2017
  • (2010)Software quality assurance using software reliability growth modelling: state of the artInternational Journal of Business Information Systems10.1504/IJBIS.2010.0357426:4(463-496)Online publication date: 1-Oct-2010
  • (2008)ReferencesDependability metrics10.5555/1806170.1806202(267-300)Online publication date: 1-Jan-2008
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
ICSE '78: Proceedings of the 3rd international conference on Software engineering
May 1978
348 pages

Sponsors

Publisher

IEEE Press

Publication History

Published: 10 May 1978

Check for updates

Qualifiers

  • Article

Acceptance Rates

Overall Acceptance Rate 276 of 1,856 submissions, 15%

Upcoming Conference

ICSE 2025

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)91
  • Downloads (Last 6 weeks)12
Reflects downloads up to 15 Jan 2025

Other Metrics

Citations

Cited By

View all

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media