Eiffel: the language
Object-oriented software construction (2nd ed.)
Object-oriented software construction (2nd ed.)
Building modular object-oriented systems with reusable collaborations (tutorial session)
Proceedings of the 22nd international conference on Software engineering
Improving design and source code modularity using AspectJ (tutorial session)
Proceedings of the 22nd international conference on Software engineering
On the criteria to be used in decomposing systems into modules
Communications of the ACM
Communications of the ACM
ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
AspectJ(tm): Aspect-Oriented Programming in Java
NODe '02 Revised Papers from the International Conference NetObjectDays on Objects, Components, Architectures, Services, and Applications for a Networked World
ECOOP '98 Workshop ion on Object-Oriented Technology
Cona: aspects for contracts and contracts for aspects
OOPSLA '04 Companion to the 19th annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
Aspect-oriented programming and modular reasoning
Proceedings of the 27th international conference on Software engineering
Contracts for aspect-oriented design
Proceedings of the 2008 AOSD workshop on Software engineering properties of languages and aspect technologies
Contract Specification in Java: Classification, Characterization, and a New Marker Method
IEICE - Transactions on Information and Systems
Checking concurrent contracts with aspects
Proceedings of the 2010 ACM Symposium on Applied Computing
Chaperones and impersonators: run-time support for reasonable interposition
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Design pattern-based extension of class hierarchies to support runtime invariant checks
FASE'13 Proceedings of the 16th international conference on Fundamental Approaches to Software Engineering
Identifying and specifying crosscutting contracts with AspectJML
Proceedings of the 2013 companion publication for conference on Systems, programming, & applications: software for humanity
Hi-index | 0.00 |
Design by ContractTMis 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.