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.

Try in SPARQL Jump to: Surface forms Statements Referenced by

All labels observed (3)

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

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 Design by Contract
surface form: DbC

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

Referenced by (14)

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 surface form: Eiffel (programming language)
Eiffel programming language influenced Design by Contract
subject surface form: Eiffel (programming language)
this entity surface form: C# code contracts
Design by Contract alsoKnownAs Design by Contract
this entity surface form: DbC
object-oriented software construction introducesConcept Design by Contract
subject surface form: Object-Oriented Software Construction
Eiffel method usesConcept Design by Contract
Interactive Software Engineering coreConcept Design by Contract
Eiffel community focusesOn Design by Contract