A behavioral notion of subtyping
ACM Transactions on Programming Languages and Systems (TOPLAS)
Object-oriented software construction (2nd ed.)
Object-oriented software construction (2nd ed.)
The object constraint language: precise modeling with UML
The object constraint language: precise modeling with UML
On the criteria to be used in decomposing systems into modules
Communications of the ACM
An axiomatic basis for computer programming
Communications of the ACM
Design by contract, by example
Design by contract, by example
Contract Soundness for object-oriented languages
OOPSLA '01 Proceedings of the 16th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
A Discipline of Programming
Model Driven Architecture: Applying MDA to Enterprise Computing
Model Driven Architecture: Applying MDA to Enterprise Computing
iContract - The Java(tm) Design by Contract(tm) Tool
TOOLS '98 Proceedings of the Technology of Object-Oriented Languages and Systems
jContractor: A Reflective Java Library to Support Design by Contract
jContractor: A Reflective Java Library to Support Design by Contract
Adding Contracts to Java with Handshake
Adding Contracts to Java with Handshake
Hi-index | 0.00 |
One of the principles of Design by Contract is that contracts for software components must be written in a declarative way, using a formal, mathematically founded notation. When we apply the Design by Contract methodology in a naive and straightforward way, we risk ending up with unwanted duplication. In this paper, we describe a methodology for writing class contracts that avoids specification duplication and that gives rise to uniform class specifications with a clear and fixed structure.