176
Copyright © 2010, IGI Global. Copying or distributing in print or electronic forms without written permission of IGI Global is prohibited.
Chapter 9
An Integrated Process for
Aspect Mining and Refactoring
Esteban S. Abait
UNICEN University, Argentina
Santiago A. Vidal
UNICEN University, Argentina
Claudia A. Marcos
UNICEN University, Argentina
Sandra I. Casas
UARG - Universidad Nacional de la Patagonia Austral, Argentina
Albert A. Osiris Sofa
UARG - Universidad Nacional de la Patagonia Austral, Argentina
IntRodUCtIon
One of the main problems that software developers
have to deal with is the unexpected and continuous
evolution inherent to all software systems. This
evolution implies that successful software systems
must change or become less satisfactory (Lehman
& Belady, 1974). Improving the separation of con-
cerns (Parnas, 1972) in those software systems is
likely to ameliorate their adaptability for changing
ABstRACt
Aspect-Oriented Software Development (AOSD) aims at solving the problem of encapsulating cross-
cutting concerns, which orthogonally crosscut the components of a system, in units called aspects.
This encapsulation improves the modularization of a system and in consequence its maintenance and
evolution. In this work, the authors propose a systematic process for the migration of object-oriented
systems to aspect-oriented ones. This migration is achieved in two main phases: crosscutting concern
identifcation (aspect mining) and code transformation (aspect refactoring). The aspect mining phase is
based on dynamic analysis and association rules to identify potential crosscutting concerns. The aspect
refactoring phase, on the other hand, uses inference rules to identify the refactoring that can be applied.
The whole process is described and its application on a real system is assessed.
DOI: 10.4018/978-1-61520-763-3.ch009