Design by Contract

E347705

Design by Contract is a software development methodology that treats software components as parties to a formal agreement, specifying precise obligations, benefits, and invariants to improve correctness and reliability.

All labels observed (3)

Label Occurrences
Design by Contract canonical 14
C# code contracts 1
DbC 1

How this entity was disambiguated

Statements (50)

Predicate Object
instanceOf formal specification approach ⓘ
software correctness technique ⓘ
software development methodology ⓘ
aimsTo improve software correctness ⓘ
improve software reliability ⓘ
reduce software defects ⓘ
alsoKnownAs DbC ⓘ
linked to: Design by Contract

contract programming ⓘ
programming by contract ⓘ
appliesTo classes ⓘ
interfaces ⓘ
methods ⓘ
software components ⓘ
associatedWithLanguage Eiffel ⓘ
basedOnConcept formal agreement between software components ⓘ
canBe checked at runtime ⓘ
used for static analysis ⓘ
defines benefits of software components ⓘ
invariants of software components ⓘ
obligations of software components ⓘ
emphasizes clear responsibilities of components ⓘ
documented assumptions ⓘ
documented guarantees ⓘ
precise specification of behavior ⓘ
helpsWith clearer interface specifications ⓘ
early detection of bugs ⓘ
improved documentation of code behavior ⓘ
influenced .NET Code Contracts ⓘ
Java Modeling Language ⓘ
Spec# ⓘ
design-by-contract libraries in multiple languages ⓘ
inspiredBy legal contracts ⓘ
introducedBy Bertrand Meyer ⓘ
originatedInContext object-oriented programming ⓘ
relatedTo Hoare logic ⓘ
assertion-based programming ⓘ
formal methods ⓘ
software specification ⓘ
requires explicit specification of invariants ⓘ
explicit specification of postconditions ⓘ
explicit specification of preconditions ⓘ
supports defensive programming ⓘ
formal verification ⓘ
modular reasoning ⓘ
test case generation ⓘ
usesConcept assertions ⓘ
class invariants ⓘ
postconditions ⓘ
preconditions ⓘ
runtime checking ⓘ

How these facts were elicited

Referenced by (16)

Full triples — surface form annotated when it differs from this entity's canonical label.

Bertrand Meyer → knownFor → Design by Contract ⓘ
Bertrand Meyer → pioneered → Design by Contract ⓘ
Bertrand Meyer → conceptIntroduced → Design by Contract ⓘ
Eiffel → supports → Design by Contract ⓘ
Eiffel (programming language) → feature → Design by Contract ⓘ
subject linked to: Eiffel programming language
Eiffel (programming language) → influenced → C# code contracts ⓘ
subject linked to: Eiffel programming language
linked to: Design by Contract
Design by Contract → alsoKnownAs → DbC ⓘ
linked to: Design by Contract
Object-Oriented Software Construction → introducesConcept → Design by Contract ⓘ
Eiffel method → usesConcept → Design by Contract ⓘ
Interactive Software Engineering → coreConcept → Design by Contract ⓘ
Eiffel community → focusesOn → Design by Contract ⓘ
ECMA-367 → relatedTo → Design by Contract ⓘ
ISO/IEC 25436 → relatedTo → Design by Contract ⓘ