Design by ContractTM is commonly cited as an example of the “crosscutting” concerns that aspect-oriented programming can address. We test this conjecture by attempting to implement contracts through aspects and assessing the outcome. The results of this experiment cast doubt on the validity of the conjecture, showing that aspects appear unable to capture contracts in a way that retains the benefits of the Design by Contract methodology.
Stephanie Balzer, Patrick Th. Eugster, Bertrand Me