Java offers the real possibility that most programs can be written in a type-safe language. However, for Java to be broadly useful, it needs additional expressive power. This pape...
Design by contract is a practical methodology for developing code together with its specification. The contract consists of class invariants and method preand postconditions. As ...
Maayan Goldstein, Yishai A. Feldman, Shmuel S. Tys...
Software often needs to be modified for accommodating requirements changes through the software life cycle. To deal with several accidental requirements changes related to softwa...
Many authors have implied dependency cycles are widespread among the classes of object-oriented software systems. Proponents of the design principle Avoid cyclic dependencies amon...
In this paper we present how refactoring of object-oriented programs can be accomplished by using refinement. Our approach is based on algebraic laws of an object-oriented languag...