Uma avaliação quantitativa de módulos de características aspectuais para evolução de linhas de produtos de software - Gaia, Felipe Nunes (2013)
Feature-Oriented Programming (FOP) and Aspect-Oriented Programming (AOP) are programming techniques based on composition mechanisms, called renements and aspects, respectively. These techniques are assumed to be good variability mechanisms for implementing Software Product Lines (SPLs). Aspectual Feature Modules (AFM) is an approach that combines advantages of feature modules and aspects to increase concern modularity. Some guidelines on how to integrate these techniques have been established in some studies, but these studies do not focus the analysis on how eectively AFM can preserve the modularity and stability facilitating SPL evolution. The main purpose of this work is to investigate whether the simultaneous use aspects and features through the AFM approach facilitates the evolution of SPLs. The quantitative data were collected from two SPL developed using four dierent variability mechanisms: (1) feature modules, aspects and aspects renements of AFM, (2) aspects of aspect-oriented programming (AOP), (3) feature modules of feature-oriented programming (FOP), and (4) conditional compilation (CC) with object-oriented programming. Metrics for change propagation and modularity stability were calculated and the results support the benets of the AFM option in a context where the product line has been evolved with addition or modication of crosscutting concerns. However a drawback of this approach is that refactorings in the components design require a higher degree of modications to the SPL structure.