Design by contract
Diseño por contrato
- Date
- 1986 · confidence medium
- Place
- Santa Barbara, California, United States
- Credited to
- Bertrand Meyer
- Field
- Knowledge & symbols
What it is
A software-design method in which each component formally defines preconditions, postconditions and invariants, as clauses of a contract binding both the caller of an operation and its implementer. It was introduced together with the Eiffel programming language.
Proposed by Bertrand Meyer at Interactive Software Engineering (Santa Barbara, California) together with the Eiffel language, in the mid-1980s.
What it led to
- adoption of the Eiffel language as the reference implementation
- influence on contract annotations in other languages (Ada, C#, Java)
- lightweight formal-verification practices in software engineering