Issue No. 09 - September (2006 vol. 32)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/TSE.2006.95
Aspect-oriented programming (AOP) provides mechanisms for the separation of crosscutting concerns - functionalities scattered through the system and tangled with the base code. Existing systems are a natural testbed for the AOP approach since they often contain several crosscutting concerns which could not be modularized using traditional programming constructs. This paper presents an automated approach to the problem of migrating systems developed according to the object-oriented programming (OOP) paradigm into aspect-oriented programming (AOP). A simple set of six refactorings has been defined to transform OOP to AOP and has been implemented in the AOP-migrator tool, an Eclipse plug-in. A set of enabling transformations from OOP to OOP complement the initial set of refactorings. The paper presents the results of four case studies, which use the approach to migrate selected crosscutting concerns from medium-sized Java programs (in the range of 10K to 40K lines of code) into equivalent programs in AspectJ. The case study results show the feasibility of the migration and indicate the importance of the enabling transformations as a preprocessing step
Java, object-oriented programming, program compilers, software quality, software tools,aspect-oriented programming, crosscutting concern, migrating system, object-oriented programming, Java program, AspectJ, tool-supported refactoring, program transformation,Object oriented programming, Scattering, System testing, Automatic programming, Java, Contracts, Software engineering, Automatic control, Costs, Humans,Aspect-oriented software development, refactoring, program transformation.
"Tool-Supported Refactoring of Existing Object-Oriented Code into Aspects", IEEE Transactions on Software Engineering, vol. 32, no. , pp. 698-717, September 2006, doi:10.1109/TSE.2006.95