Milton Inostroza | |
Master Student | minostro@dcc.uchile.cl |
PLEIAD Lab | Blanco Encalada 2120, of 336 |
Computer Science Department (DCC) | Santiago, Chile |
University of Chile | tel: +56 2 9784890 |
I'm a second year Master student at the Computer Science Department of the University of Chile. Currently I'm working on my Master Thesis promoted by Prof. Eric Tanter at Pleiad lab
(from the abstract of my thesis proposal)
Aspect-Oriented Programming (AOP) successfully modularizes crosscutting concerns such as logging, profiling, security among others. However, AOP fails to provide modular reasoning and separate evolution of aspects and base code. In current aspect languages, modular reasoning is hampered because base code has no way to know which properties and invariants aspects rely upon, and because aspects, through their pointcuts, carry explicit references to the base code. This compromises separate evolution of aspects and base code because slight changes in either base or aspect code can break unwittingly strong assumptions made by programmers.
In the AOP community, several proposals try to address these problems without success. In this thesis, we introduce Join Point Interfaces (JPIs): a novel abstraction layer between aspects and base code. JPIs support, by design, modular reasoning and independent evolution by supporting a modular type-checking algorithm. We provide strong guarantees that any program that typechecks is free of uncaught checked exceptions at runtime. This in contrast to existing solutions that cannot provide such guarantees in all cases. In addition, we plan to implement JPIs as an extension of the abc compiler for AspectJ and migrate several applications to assess the impact of JPIs in real software products.