A quantitative and qualitative assessment of aspectual feature modules for evolving software product lines

Feature-Oriented Programming (FOP) and Aspect-Oriented Programming (AOP) are programming techniques based on composition mechanisms, called refinements and aspects, respectively. These techniques are assumed to be good variability mechanisms for implementing Software Product Lines (SPLs). Aspectual...

Celý popis

Uložené v:
Podrobná bibliografia
Vydané v:Science of computer programming Ročník 96; s. 230 - 253
Hlavní autori: Gaia, Felipe Nunes, Ferreira, Gabriel Coutinho Sousa, Figueiredo, Eduardo, Maia, Marcelo de Almeida
Médium: Journal Article
Jazyk:English
Vydavateľské údaje: Elsevier B.V 15.12.2014
Predmet:
ISSN:0167-6423, 1872-7964
On-line prístup:Získať plný text
Tagy: Pridať tag
Žiadne tagy, Buďte prvý, kto otaguje tento záznam!
Popis
Shrnutí:Feature-Oriented Programming (FOP) and Aspect-Oriented Programming (AOP) are programming techniques based on composition mechanisms, called refinements 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 effectively AFM can preserve the modularity and stability facilitating SPL evolution. The main purpose of this paper is to investigate whether the simultaneous use of aspects and features through the AFM approach facilitates the evolution of SPLs. The quantitative data were collected from two SPLs developed using four different variability mechanisms: (1) feature modules, aspects and aspects refinements 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 were calculated and the results support the benefits of the AFM option in a context where the product line has been evolved with addition or modification of crosscutting concerns. However a drawback of this approach is that refactoring components' design requires a higher degree of modifications to the SPL structure. •Variability mechanisms are systematically evaluated in the evolution of SPLs.•FOP and AFM have shown better adherence to the Open-Closed Principle than CC.•When crosscutting concerns are present, AFM are recommended over FOP.•Refactoring at component level has important impact in AFM and FOP.•CC compilation should be avoided when modular design is an important requirement.
ISSN:0167-6423
1872-7964
DOI:10.1016/j.scico.2014.03.006