Applying 'design by contract'

Methodological guidelines for object-oriented software construction that improve the reliability of the resulting software systems are presented. It is shown that the object-oriented techniques rely on the theory of design by contract, which underlies the design of the Eiffel analysis, design, and programming language and of the supporting libraries, from which a number of examples are drawn. The theory of contract design and the role of assertions in that theory are discussed.<<ETX>>

[1]  Brian Randell System structure for software fault tolerance , 1975 .

[2]  John V. Guttag,et al.  Abstract data types and the development of data structures , 1976, Software Pioneers.

[3]  Edsger W. Dijkstra,et al.  A Discipline of Programming , 1976 .

[4]  J. J. Horning,et al.  Report on the programming language Euclid , 1977, SIGP.

[5]  Mary Shaw Alphard: Form and Content , 1981, Springer New York.

[6]  Ib Holm Sørensen A Specification Language , 1981, Program Specification.

[7]  David Gries,et al.  The Science of Programming , 1981, Text and Monographs in Computer Science.

[8]  C. A. R. Hoare,et al.  An axiomatic basis for computer programming , 1969, CACM.

[9]  David C. Luckham,et al.  An Overview of Anna, a Specification Language for Ada , 1985, IEEE Software.

[10]  Cliff B. Jones,et al.  Systematic software development using VDM , 1986, Prentice Hall International Series in Computer Science.

[11]  Harlan D. Mills,et al.  Princples of Computer Programming , 1987 .

[12]  Bertrand Meyer The new culture of software development , 1990 .

[13]  John Potter,et al.  Models for Concurrent Eiffel , 1992, TOOLS.

[14]  Robert W. Floyd,et al.  Assigning Meanings to Programs , 1993 .