Managing the evolution of aspect-oriented software with model-based pointcuts

Kellens, Andy;Mens, Kim;Brichau, Johan;Gybels, Kris
(2006) 20th European Conference on Object-Oriented Programming (ECOOP 2006) — Location: Nantes(France) (3.July.2006)

Files

pdfdocument.pdf
  • Restricted Access
  • Adobe PDF
  • 990.71 KB

Details

Authors
  • Kellens, AndyProgramming Technology Lab Vrije Universiteit Brussel, Belgium
    Author
  • Mens, Kimorcid-logoUCLouvain
    Author
  • Brichau, JohanLaboratoire d’Informatique Fondamentale de Lille Université des Sciences et Technologies de Lille, France
    Author
  • Gybels, KrisProgramming Technology Lab Vrije Universiteit Brussel, Belgium
    Author
Abstract
In spite of the more advanced modularisation mechanisms, aspect-oriented programs still suffer from evolution problems. Due to the fragile pointcut problem, seemingly safe modifications to the base code of an aspect-oriented program can have an unexpected impact on the semantics of the pointcuts defined in that program. This can lead to broken aspect functionality due to accidental join point misses and unintended join point captures. We tackle this problem by declaring pointcuts in terms of a conceptual model of the base program, rather than defining them directly in terms of how the base program is structured. As such, we achieve an effective decoupling of the pointcuts from the base program's structure. In addition, the conceptual model provides a means to verify where and why potential fragile pointcut conflicts occur, by imposing structural and semantic constraints on the conceptual model, that can be verified when the base program evolves. To validate our approach we implemented a model-based pointcut mechanism, which we used to define some aspects on SmallWiki, a medium-sized application, and subsequently detected and resolved occurrences of the fragile pointcut problem when this application evolved.
Affiliations

Citations

Kellens, A., Mens, K., Brichau, J., & Gybels, K. (2006). Managing the evolution of aspect-oriented software with model-based pointcuts. In Dave Thomas (ed.), Ecoop 2006 - Object-oriented Programming: 20th European Conference, Nantes, France, July 3-7, 2006, Proceedings. Springer-verlag Berlin. https://doi.org/10.1007/11785477_28