Article ID | Journal | Published Year | Pages | File Type |
---|---|---|---|---|
6885408 | Journal of Systems and Software | 2018 | 51 Pages |
Abstract
Dynamic Software Product Line (DSPL) engineering is a paradigm aimed at handling adaptations at runtime. An inherent challenge in DSPL engineering is to reduce the design complexity of adaptable software, particularly in terms of evolution. Existing research only recently started to investigate evolution in this field, but does not assess the impact of different implementations under software quality in evolutionary scenarios. This work presents a characterization of thirteen dynamic variability mechanisms. Based on such characterization, we implemented a DSPL using Object-oriented Programming (OOP) mechanisms. From this implementation, we evidenced that DSPL requires changes and extensions to design, in terms of functionality and adaptation capabilities. Since Aspect-oriented Programming (AOP) was well ranked according to characterization and some studies have demonstrated the likely synergies between AOP and DSPL, we decided to compare it with OOP. We empirically evaluated how OOP and AOP could affect source code quality from the viewpoint of an evolving DSPL. As a result, AOP yields better results in terms of size, SoC, cohesion, and coupling measures. Conversely, AOP provides lower change propagation impact. Although the packages in AOP were more susceptible to changes than in OOP, we could indicate that AOP may be a feasible strategy for DSPL implementation.
Related Topics
Physical Sciences and Engineering
Computer Science
Computer Networks and Communications
Authors
Michelle Larissa Luciano Carvalho, Matheus Lessa Gonçalves da Silva, Gecynalda Soares da Silva Gomes, Alcemir Rodrigues Santos, Ivan do Carmo Machado, Magno Luã de Jesus Souza, Eduardo Santana de Almeida,