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