DocumentCode
1928356
Title
Migrating interface implementations to aspects
Author
Tonella, Paolo ; Ceccato, Mariano
Author_Institution
ITC-irst, Centro per la Ricerca Scientifica e Tecnologica, Povo, Italy
fYear
2004
fDate
11-14 Sept. 2004
Firstpage
220
Lastpage
229
Abstract
Separation of concerns and modularization are the cornerstones of software engineering. However, when a system is decomposed into units, functionalities often emerge which cannot be assigned to a single element of the decomposition. The implementation of interfaces represents a typical instance of this problem. In fact, the code that defines the interface methods is often scattered across several classes in the system and tangled with the original code. Aspect oriented programming provides mechanisms for the dynamic and static composition of transversal functionalities, that can be used to factor out the implementation of interfaces. We describe a technique for the identification of those interface implementations that are most likely to represent crosscutting concerns. Moreover, the code transformation (refactoring) to migrate such interfaces to aspects is also presented. Experimental results validate the approach.
Keywords
object-oriented programming; software engineering; aspect oriented programming; code transformation; dynamic composition; interface implementation migration; interface method; software engineering; static composition; transversal functionality; Computer architecture; Dynamic programming; Engineering management; Functional programming; Graphical user interfaces; Information retrieval; Mutual coupling; Scattering; Software engineering; Software systems;
fLanguage
English
Publisher
ieee
Conference_Titel
Software Maintenance, 2004. Proceedings. 20th IEEE International Conference on
ISSN
1063-6773
Print_ISBN
0-7695-2213-0
Type
conf
DOI
10.1109/ICSM.2004.1357806
Filename
1357806
Link To Document