• 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