A Systematic Aspect-Oriented Refactoring and Testing Strategy, and its Application to JHotDraw
Arie van Deursen, Marius Marin, Leon Moonen

TL;DR
This paper presents a systematic refactoring and testing strategy for migrating legacy software to aspect-oriented programming, demonstrated on JHotDraw, enhancing modularity and maintainability.
Contribution
It introduces a structured approach for safe, incremental migration to aspect-oriented systems and offers insights into designing aspect languages for better support of such migrations.
Findings
Applied the strategy to JHotDraw successfully.
Identified generic refactorings for aspect-oriented migration.
Linked crosscutting concerns to aspect language features.
Abstract
Aspect oriented programming aims at achieving better modularization for a system's crosscutting concerns in order to improve its key quality attributes, such as evolvability and reusability. Consequently, the adoption of aspect-oriented techniques in existing (legacy) software systems is of interest to remediate software aging. The refactoring of existing systems to employ aspect-orientation will be considerably eased by a systematic approach that will ensure a safe and consistent migration. In this paper, we propose a refactoring and testing strategy that supports such an approach and consider issues of behavior conservation and (incremental) integration of the aspect-oriented solution with the original system. The strategy is applied to the JHotDraw open source project and illustrated on a group of selected concerns. Finally, we abstract from the case study and present a number of…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAdvanced Software Engineering Methodologies · Software Engineering Research · Service-Oriented Architecture and Web Services
