On the role of software reliability in software engineering

  • C. Ghezzi
  • A. Morzenti
  • M. Pezzè
Part of the Lecture Notes in Computer Science book series (LNCS, volume 341)


We place reliability in the context of other relevant software qualities and try to define it rigorously. Then we discuss two complementary approaches to reliability: the constructive approach, which tries to produce a-priori reliable software, and the analytic approach, which tries to measure reliability by inspecting software a-posteriori, after its development.

The paper reviews two relevant technologies that may provide a constructive contribution to improving software reliability: formal specifications and programming languages. Although our emphasis is on constructive approaches, we briefly review the principles and techniques of software validation, that can be used to check software reliability after development.


Food Store Type Item Software Quality Level Transition Software Reliability 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    Proceedings ACM Conference on Language Design for Reliable Software, SIGPLAN Notices Vol. 12 no. 3 (March 77).Google Scholar
  2. [2]
    ACM Sigsoft Notes, Special Issue on "Formal Verification Workshop" August 1985.Google Scholar
  3. [3]
    Brent Auernheimer, Richard Kemmerer, RT-Aslan: a Specification Language for Real-Time Systems, IEEE Transactions on Software Engineering, Vol. SE-12, no. 9, September 1986.Google Scholar
  4. [4]
    B. Boehm et al., Characteristics of Software Quality, North Holland, Amsterdam, 1978.Google Scholar
  5. [5]
    B. Boehm, Software Engineering Economics, Prentice Hall, Englewood Cliffs, NJ, 1981.Google Scholar
  6. [6]
    Frederick P. Brooks, No Silver Bullet, Essence and Accidents of Software Engineering, Computer Vol. 20, no. 4, April 1987.Google Scholar
  7. [7]
    J. P. Cavano, J. A. Mc Call, A Framework for the Measurement of Software Quality, Proc. ACM Software Quality Assurance Workshop, Nov. 1978.Google Scholar
  8. [8]
    B. Cohen, W. T. Hartwood, M. I. Jackson, The Specification of Complex Systems, Addison Wesley, 1986.Google Scholar
  9. [9]
    L. D. Fosdick, L. G. Osterweil, Data Flow Analysis in Software Reliability, ACM Computer Surveys, Vol. 8, September 1976.Google Scholar
  10. [10]
    Marie Claude Gaudel, Logic Programming and Authomatization of Software Test Strategies, ESPRIT technical Report, Project Meteor, (Project n 432) December 1986.Google Scholar
  11. [11]
    Carlo Ghezzi, Levels of Static Program Validation, in Computer Program Testing, B. Chandrasekaran and S. Radicchi eds., North Holland, Amsterdam, 1981.Google Scholar
  12. [12]
    N. Gehani, A. McGettrick, Software Specification Techniques, Addison Wesley, 1986.Google Scholar
  13. [13]
    Ghezzi, C., M. Jazayeri, Programming Language Concepts, 2nd edition, J. Wiley & Sons, New York, 1987.Google Scholar
  14. [14]
    Ghezzi, C., D. Mandrioli, On Eclecticism in Specifications: A Case Study Centered Around Petri Net, Proc. 4th Int. Workshop on Software Specification and Design, Monterey, April 1987.Google Scholar
  15. [15]
    William E. Howden, A Functional Approach to Program Testing and Analysis, IEEE Transactions on Software Engineering, Vol. SE-12, no. 10, October 1986.Google Scholar
  16. [16]
    Richard A. Kemmerer, Testing Formal Specifications to Detect Design Errors, IEEE Transactions on Software Engineering, Vol. SE-11, no. 1, January 1985.Google Scholar
  17. [17]
    James C. King, Symbolic Execution and Program Testing, Communications of the ACM, Vol. 19, no. 7, July 1976.Google Scholar
  18. [18]
    C. E. Landwehr, Formal Models for Computer Security, ACM Computing Surveys, Vol. 13, September 1981.Google Scholar
  19. [19]
    Nancy G. Leveson, Software Safety: What, Why, and How, ACM Computing Surveys, Vol. 18, no. 2, June 1986.Google Scholar
  20. [20]
    Dave L. Parnas, Software aspects of strategic defense systems, Communications of the ACM, Vol. 28, no. 12, December 1985.Google Scholar
  21. [21]
    H. Partsch, R. Steinbruggen, Program Transformation Systems, ACM Computing Surveys, Vol. 15, no. 3, September 1983.Google Scholar
  22. [22]
    L. J. White, Basic Mathematical Definitions and Results of Testing, in Computer Program Testing, B. Chandrasekaran and S. Radicchi eds., North Holland, Amsterdam, 1981.Google Scholar

Copyright information

© Springer-Verlag 1988

Authors and Affiliations

  • C. Ghezzi
    • 1
  • A. Morzenti
    • 1
  • M. Pezzè
    • 1
  1. 1.Dipartmento di ElettronicaPolitecnico di MilanoMilanoItaly

Personalised recommendations