DocumentCode
2443190
Title
Crosscutting revision control system
Author
Ifrah, Sagi ; Lorenz, David H.
Author_Institution
Dept. of Math. & Comput. Sci., Open Univ. of Israel, Raanana, Israel
fYear
2012
fDate
2-9 June 2012
Firstpage
321
Lastpage
330
Abstract
Large and medium scale software projects often require a source code revision control (RC) system. 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.
Keywords
Java; aspect-oriented programming; configuration management; software maintenance; AJDT plug-in; AspectJ; Eclipse plug-in; RC system; SVN plug-in; Subversion; XRC; aspect-oriented code; aspect-oriented programming; concurrent change; crosscutting effect; crosscutting metadata; crosscutting revision control system; large and medium scale software project; source code revision control; source code version; standard AOP language; version control; Control systems; Engines; History; Programming; Software; Visualization; Weaving; aspects; revision control; version control;
fLanguage
English
Publisher
ieee
Conference_Titel
Software Engineering (ICSE), 2012 34th International Conference on
Conference_Location
Zurich
ISSN
0270-5257
Print_ISBN
978-1-4673-1066-6
Electronic_ISBN
0270-5257
Type
conf
DOI
10.1109/ICSE.2012.6227182
Filename
6227182
Link To Document