Tool-supported Refactoring of Aspect-oriented Programs: Why Aspect-oriented Programming Prevents Developers from Using Their Favorite Refactoring Tools, and How These Tools Can Be Made Aspect-aware?
Jan Wloka
Abstract
Jan Wloka
Abstract
Aspect-oriented programming (AOP) offers a new concept for improving the modularity of crosscutting concerns. The advanced composition mechanisms introduced for realizing this concept cause serious software evolution problems and prevent in particular tool-supported refactoring of aspect-oriented programs. This dissertation presents an approach to refactoring that uses change impact analysis techniques to verify the validity of behavioral compositions in aspect-oriented programs. It shows how the refactoring process can be extended to detect invalidated compositions and to adjust their specifications. In particular, the dissertation discusses and classifies general attributes of existing approaches for composing program behavior in AOP and illustrates in which way they cause evolution-related problems. It presents a model for representing the meta-level information used, which enables the detection of invalidated compositions. The presented prototype demonstrates how the proposed approach can be integrated in mainstream refactoring tools, showing different ways to assist developers in detecting and adjusting invalidated compositions.
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 (AOP) offers a new concept for improving the modularity of crosscutting concerns. The advanced composition mechanisms introduced for realizing this concept cause serious software evolution problems and prevent in particular tool-supported refactoring of aspect-oriented programs. This dissertation presents an approach to refactoring that uses change impact analysis techniques to verify the validity of behavioral compositions in aspect-oriented programs. It shows how the refactoring process can be extended to detect invalidated compositions and to adjust their specifications. In particular, the dissertation discusses and classifies general attributes of existing approaches for composing program behavior in AOP and illustrates in which way they cause evolution-related problems. It presents a model for representing the meta-level information used, which enables the detection of invalidated compositions. The presented prototype demonstrates how the proposed approach can be integrated in mainstream refactoring tools, showing different ways to assist developers in detecting and adjusting invalidated compositions.
Key concepts: Code refactoring, Aspect-oriented programming, Modularity (biology), Computer science, Separation of concerns, Software engineering, Programming language, Process (computing)