A behavioral notion of subtyping
ACM Transactions on Programming Languages and Systems (TOPLAS)
Contract Soundness for object-oriented languages
OOPSLA '01 Proceedings of the 16th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Classpects: unifying aspect- and object-oriented language design
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
Pipa: a behavioral interface specification language for aspectJ
FASE'03 Proceedings of the 6th international conference on Fundamental approaches to software engineering
Hi-index | 0.00 |
Run-time contract enforcement is a useful means to help ensure the reliability of a software system. Due to the scattering and tangling nature of crosscutting concerns, aspects can have a high degree of coupling with other modules. Contract enforcement should therefore prove especially useful for aspects. This paper presents such a run-time enforcement algorithm for a minimal aspect-oriented language, guided by the advice substitution principle: an aspect-oriented version of Liskov substitution. As contract enforcement in itself is a crosscutting concern, the algorithm is specified using aspects as well.