It is often claimed that the contracts of a system is de-facto a crosscutting concern
that can be better modularized by the use of aspect-orientation (AO)Recent studies have shown that object-oriented (OO) abstractions are not able to modularize the main features of design by contract methodology, such as invariants and pre- and postconditions, and tend to lead to programs with poor modularity (scattered and tangled DbC code).