Supporting user preferences in search-based product line architecture design using Machine Learning

  • Carlos Vinicius Bindewald UEM
  • Willian M. Freire UEM
  • Aline M. M. Miotto Amaral UEM
  • Thelma Elita Colanzi UEM

Resumo


The Product Line Architecture (PLA) is one of the most important artifacts of a Software Product Line. PLA design requires intensive human effort as it involves several conflicting factors. In order to support this task, an interactive search-based approach, automated by a tool named OPLA-Tool, was proposed in a previous work. Through this tool the software architect evaluates the generated solutions during the optimization process. Considering that evaluating PLA is a complex task and search-based algorithms demand a high number of generations, the evaluation of all solutions in all generations cause human fatigue. In this work, we incorporated in OPLA-Tool a Machine Learning (ML) model to represent the architect in some moments during the optimization process aiming to decrease the architect's effort. Through the execution of a quantiqualitative exploratory study it was possible to demonstrate the reduction of the fatigue problem and that the solutions produced at the end of the process, in most cases, met the architect's needs.
Palavras-chave: Human-computer interaction, Machine Learning, Product Line Architecture
Publicado
19/10/2020
BINDEWALD, Carlos Vinicius; FREIRE, Willian M.; AMARAL, Aline M. M. Miotto; COLANZI, Thelma Elita. Supporting user preferences in search-based product line architecture design using Machine Learning. In: SIMPÓSIO BRASILEIRO DE COMPONENTES, ARQUITETURAS E REUTILIZAÇÃO DE SOFTWARE (SBCARS), 14. , 2020, Natal/RN. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2020 . p. 11–20.