A Systematic Aspect-Oriented Refactoring and Testing Strategy, and its\n Application to JHotDraw
Arie van Deursen, Marius Marin, Leon Moonen
Abstract
Open-access reader
Arie van Deursen, Marius Marin, Leon Moonen
Abstract
Open-access reader
Aspect oriented programming aims at achieving better modularization for a\nsystem's crosscutting concerns in order to improve its key quality attributes,\nsuch as evolvability and reusability. Consequently, the adoption of\naspect-oriented techniques in existing (legacy) software systems is of interest\nto remediate software aging. The refactoring of existing systems to employ\naspect-orientation will be considerably eased by a systematic approach that\nwill ensure a safe and consistent migration.\n In this paper, we propose a refactoring and testing strategy that supports\nsuch an approach and consider issues of behavior conservation and (incremental)\nintegration of the aspect-oriented solution with the original system. The\nstrategy is applied to the JHotDraw open source project and illustrated on a\ngroup of selected concerns. Finally, we abstract from the case study and\npresent a number of generic refactorings which contribute to an incremental\naspect-oriented refactoring process and associate particular types of\ncrosscutting concerns to the model and features of the employed aspect\nlanguage. The contributions of this paper are both in the area of supporting\nmigration towards aspect-oriented solutions and supporting the development of\naspect languages that are better suited for such migrations.\n
OpenAlex reports 1 citations for this work. Citation counts describe recorded attention and do not establish research quality.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
Aspect oriented programming aims at achieving better modularization for a\nsystem's crosscutting concerns in order to improve its key quality attributes,\nsuch as evolvability and reusability. Consequently, the adoption of\naspect-oriented techniques in existing (legacy) software systems is of interest\nto remediate software aging. The refactoring of existing systems to employ\naspect-orientation will be considerably eased by a systematic approach that\nwill ensure a safe and consistent migration.\n In this paper, we propose a refactoring and testing strategy that supports\nsuch an approach and consider issues of behavior conservation and (incremental)\nintegration of the aspect-oriented solution with the original system. The\nstrategy is applied to the JHotDraw open source project and illustrated on a\ngroup of selected concerns. Finally, we abstract from the case study and\npresent a number of generic refactorings which contribute to an incremental\naspect-oriented refactoring process and associate particular types of\ncrosscutting concerns to the model and features of the employed aspect\nlanguage. The contributions of this paper are both in the area of supporting\nmigration towards aspect-oriented solutions and supporting the development of\naspect languages that are better suited for such migrations.\n
Key concepts: Code refactoring, Aspect-oriented programming, Reusability, Computer science, Software engineering, Modular programming, Separation of concerns, Modularity (biology)