Speaker: David H. Lorenz, Open University of Israel
Title: Crosscutting Revision Control System
Abstract:
Large and medium scale software projects often require
source code revision control (RC). Unfortunately, RC systems do not perform
well with obliviousness and quantification found in aspect-oriented code. When
classes are oblivious to aspects, so is the RC system, and the crosscutting
effect of aspects is not tracked. In this work, we study this problem in the
context of using AspectJ (a standard AOP language) with Subversion (a standard
RC system). We describe scenarios where the crosscutting effect of aspects
combined with the concurrent changes that RC supports can lead to inconsistent states
of the code. The work contributes a mechanism that checks-in with the source
code versions of crosscutting metadata for tracking the effect of aspects.
Another contribution of this work is the implementation of a supporting Eclipse
plug-in (named XRC) that extends the JDT, AJDT, and SVN plug-ins for Eclipse to
provide crosscutting revision control (XRC) for aspect-oriented programming.
Joint work with Sagi Ifrah