On Identifying Architectural Smells in Search-based Product Line Designs

  • Eduardo G. Perissato UEM
  • João Choma Neto UEM
  • Thelma E. Colanzi UEM
  • Willian Oizumi PUC-Rio
  • Alessandro Garcia PUC-Rio

Resumo


The Product Line Architecture (PLA) defines a common design for all products derived from the software product line. PLA design is a high-effort task since it is influenced by several factors, such as feature modularity, PLA variability and extensibility. Given the complexity and variety of such influential factors, the use of search-based algorithms have recently been explored to derive PLA designs in the seminal approach named Multi-Objective Approach for Product-Line Architecture Design (MOA4PLA). MOA4PLA produces a set of alternative PLA designs that improve the different optimized factors. Besides the optimization of these factors, the obtained PLA designs should ideally have no architectural smell. An architectural smell may harm not only the PLA variability and extensibility, but also other non-functional attributes. However, no previous study was performed to investigate if and to what extent state-of-the-art search-based approaches, such as MOA4PLA, adversely introduce architectural smells in resulting designs. Thus, we performed an exploratory investigation about the presence of architectural smells in a set of PLA designs obtained from MOA4PLA. Such an investigation was also useful to derive guidelines for: (i) improving the resulting search-based PLA designs, or (ii) preventing upfront the emergence of architectural smells in PLA designs automatically obtained with search-based approaches.
Palavras-chave: Architectural Smells, Product Line Design, Search-based Software Engineering
Publicado
17/09/2018
PERISSATO, Eduardo G.; CHOMA NETO, João; COLANZI, Thelma E.; OIZUMI, Willian; GARCIA, Alessandro. On Identifying Architectural Smells in Search-based Product Line Designs. In: SIMPÓSIO BRASILEIRO DE COMPONENTES, ARQUITETURAS E REUTILIZAÇÃO DE SOFTWARE (SBCARS), 12. , 2018, São Carlos/SP. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2018 . p. 13–22.