Software refactoring consists of the modification of the internal program structure without altering the external behavior (semantic preservation). It aims at improving internal quality factors, such as the modularity, in order to make the code easier to understand and evolve in the future. Among the various refactorings, a category quite unexplored is that of the refactoring from Object Oriented Programming (OOP) to Aspect Oriented Programming (AOP). AOP is expected to improve the structure of existing code by offering modular units for functionalities whose implementation is otherwise scattered through the modules. In this paper, we investigate the automated support that can be provided to programmers in the migration from OOP to AOP code. We consider the applicability of semantic-preserving code transformations to achieve the migration task. The contribution of this work consists of a list of refactorings, that are described together with the applicability conditions and with all the variants that can be found. By supporting the refactoring activity by means of automated tools the migration difficulties are mitigated and the benefits of AOP become easier to achieve for legacy OOP applications.

Automated Pointcut Extraction

Ceccato, Mariano;Tonella, Paolo
2005-01-01

Abstract

Software refactoring consists of the modification of the internal program structure without altering the external behavior (semantic preservation). It aims at improving internal quality factors, such as the modularity, in order to make the code easier to understand and evolve in the future. Among the various refactorings, a category quite unexplored is that of the refactoring from Object Oriented Programming (OOP) to Aspect Oriented Programming (AOP). AOP is expected to improve the structure of existing code by offering modular units for functionalities whose implementation is otherwise scattered through the modules. In this paper, we investigate the automated support that can be provided to programmers in the migration from OOP to AOP code. We consider the applicability of semantic-preserving code transformations to achieve the migration task. The contribution of this work consists of a list of refactorings, that are described together with the applicability conditions and with all the variants that can be found. By supporting the refactoring activity by means of automated tools the migration difficulties are mitigated and the benefits of AOP become easier to achieve for legacy OOP applications.
File in questo prodotto:
Non ci sono file associati a questo prodotto.

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/11582/7668
 Attenzione

Attenzione! I dati visualizzati non sono stati sottoposti a validazione da parte dell'ateneo

Citazioni
  • ???jsp.display-item.citation.pmc??? ND
social impact