Refactoring object-oriented frameworks
Refactoring object-oriented frameworks
Refactoring: improving the design of existing code
Refactoring: improving the design of existing code
Change impact analysis for object-oriented programs
PASTE '01 Proceedings of the 2001 ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
Arranging language features for more robust pattern-based crosscuts
Proceedings of the 2nd international conference on Aspect-oriented software development
Towards a catalog of aspect-oriented refactorings
Proceedings of the 4th international conference on Aspect-oriented software development
Role-based refactoring of crosscutting concerns
Proceedings of the 4th international conference on Aspect-oriented software development
Chianti: a change impact analysis tool for java programs
Proceedings of the 27th international conference on Software engineering
Automated Refactoring of Object Oriented Code into Aspects
ICSM '05 Proceedings of the 21st IEEE International Conference on Software Maintenance
Using Pointcut Delta Analysis to Support Evolution of Aspect-Oriented Software
ICSM '05 Proceedings of the 21st IEEE International Conference on Software Maintenance
Eclipse aspectj: aspect-oriented programming with aspectj and the eclipse aspectj development tools
Eclipse aspectj: aspect-oriented programming with aspectj and the eclipse aspectj development tools
Expressive pointcuts for increased modularity
ECOOP'05 Proceedings of the 19th European conference on Object-Oriented Programming
Improving safety when refactoring aspect-oriented programs
Proceedings of the 24th ACM SIGPLAN conference companion on Object oriented programming systems languages and applications
Science of Computer Programming
Inference rules for generic code migration of aspect-oriented programs
Science of Computer Programming
Systematic testing of refactoring engines on real software projects
ECOOP'13 Proceedings of the 27th European conference on Object-Oriented Programming
Hi-index | 0.00 |
Aspect-oriented programming languages provide new composition mechanisms for improving the modularity of crosscutting concerns. Implementations of such language support use advanced program representations, like abstract syntax trees or stack traces, to enable an indirect specification (pointcut) of executions of program elements at which aspect code (advice) is invoked. During the evolution of a program, this representations will change and, hence, advice may not be executed as intended by the developer. In this paper we present a tool-supported refactoring approach that addresses this evolution problem by automating the detection of change effects on pointcuts and the generation of pointcut updates. A new model for decomposing pointcuts into simpler expressions is used as the base for deriving the change impact on pointcuts. Based on this model, we show how program analysis can detect affected or even broken pointcuts, how suitable pointcut adjustments can be derived, and when developer feedback is unavoidable.