Toward automated refactoring of crosscutting concerns into aspects

Aspect-oriented programing (AOP) improves the separation of concerns by encapsulating crosscutting concerns into aspects. Thus, aspect-oriented programing aims to better support the evolution of systems. Along this line, we have defined a process that assists the developer to refactor an object-orie...

Descripción completa

Detalles Bibliográficos
Autores: Vidal, Santiago Agustín, Marcos, Claudia Andrea
Tipo de recurso: artículo
Estado:Versión publicada
Fecha de publicación:2013
País:Argentina
Institución:Consejo Nacional de Investigaciones Científicas y Técnicas
Repositorio:CONICET Digital (CONICET)
Idioma:inglés
OAI Identifier:oai:ri.conicet.gov.ar:11336/1136
Acceso en línea:http://hdl.handle.net/11336/1136
Access Level:acceso abierto
Palabra clave:ASPECT REFACTORING
SEPARATION OF CONCERNS
SOFTWARE EVOLUTION
https://purl.org/becyt/ford/1.2
https://purl.org/becyt/ford/1
Descripción
Sumario:Aspect-oriented programing (AOP) improves the separation of concerns by encapsulating crosscutting concerns into aspects. Thus, aspect-oriented programing aims to better support the evolution of systems. Along this line, we have defined a process that assists the developer to refactor an object-oriented system into an aspect-oriented one. In this paper we propose the use of association rules and Markov models to improve the assistance in accomplishing some of the tasks of this process. Specifically, we use these techniques to help the developer in the task of encapsulating a fragment of aspectizable code into an aspect. This includes the choice of a fragment of aspectizable code to be encapsulated, the selection of a suitable aspect refactoring, and the analysis and application of additional restructurings when necessary. Our case study of the refactoring of a J2EE system shows that the use of the process reduces the intervention of the developer during the refactoring.