Orientador: Silvia Regina Vergilio Coorientador: Marouane Kessentini Tese (doutorado) - Universidade Federal do Paraná, Setor de Ciências Exatas, Programa de Pós-Graduação em Informática. Defesa : Curitiba, 07/11/2019 Inclui referências: p. 100-106 Área de concentração: Ciência da Computação Resumo: Algoritmos evolutivos para multiplos e muitos objetivos tem sido aplicados para selecionar produtos para o teste de variabilidade de Linhas de Produtos de Software (LPS). Esse problema refere-se a selecao de um conjunto adequado de produtos para testar uma LPS, pois testar todos os existentes e inviavel. O problema e impactado por muitos fatores, como numero de produtos a serem testados, criterios de cobertura a serem satisfeitos e eficacia em revelar defeitos. E possivel notar que muitas funcoes objetivo conflitantes precisam ser otimizadas ao mesmo tempo. No entanto, alguns problemas surgem quando o numero de objetivos a serem otimizados aumenta, por exemplo, as solucoes geradas pelos algoritmos de otimizacao se tornam incomparaveis, projetar uma frente de Pareto requer um grande numero de solucoes e a visualizacao de tais solucoes exige tecnicas especiais. Varias tecnicas sao propostas na literatura para resolver esse problema, como tecnicas de decomposicao e algoritmos baseados em indicadores. Entre eles, os algoritmos baseados na reducao de dimensionalidade e algoritmos baseados nas preferencias do usuario sao amplamente utilizados. Embora utilizados em diferentes abordagens de maneira separada, nao ha estudos na literatura que abordam o uso de reducao de dimensionalidade e algoritmos baseados em preferencias de forma combinada. Diante disso, este trabalho propoe uma abordagem chamada MaDRUP, Otimizacao de Muitos Objetivos com Reducao de Dimensionalidade baseada em Preferencias dos Usuarios. Esta abordagem visa a reduzir o numero de objetivos a serem otimizados com base nas preferencias declaradas durante o processo de geracao da solucao, e tem como objetivo principal a geracao de um conjunto reduzido de solucoes que leva menos tempo de execucao, mas mantem competitivamente os atributos de qualidade em comparacao com outros algoritmos. Para avaliar a aplicabilidade da abordagem proposta, MaDRUP foi instanciada com o algoritmo NSGA-II. Essa instanciacao e chamada COR-NSGA-II (NSGA-II com Reducao de Objetivos baseada em Confianca). O COR-NSGA-II define para cada funcao objetivo um nivel de confianca calculado pelas preferencias do usuario fornecidas interativamente. Os objetivos com valores mais altos de confianca sao removidos da proxima execucao do algoritmo. Para avaliar a viabilidade do COR-NSGA-II, tambem foi implementada uma ferramenta chamada Nautilus, e foram realizados experimentos usando seis LPSs diferentes, dois tipos de pontos de referencia representando as preferencias do usuario, cinco algoritmos e dois cenarios para simular diferentes perfis de usuario. Os resultados mostram que o COR-NSGA-II supera os algoritmos avaliados na maioria dos casos, gerando um numero menor de solucoes, com um menor tempo de execucao. Uma analise qualitativa tambem foi realizada com um conjunto de 12 usuarios que, respondendo a um questionario, indicaram ser mais facil escolher uma solucao gerada pelo COR-NSGA-II do que escolher uma solucao gerada pelos outros algoritmos. Palavras-chave: linha de produto de software. engenharia de software baseada em busca. algoritmos baseados em preferencias. reducao da dimensionalidade. Abstract: Multi- and Many-Evolutionary Algorithms have been applied to derive products for the variability testing of Software Product Lines (SPLs). This problem refers to the selection of an adequate set of products to test a SPL, since to test all the existing products is infeasible. The problem is impacted by many factors, such as the number of products to be tested, testing criteria to be satisfied, and efficacy to reveal faults. We can see that many conflicting objective functions need to be optimized at the same time. However, some problems emerge when the number of objectives to be optimized increases, for example, the solutions generated by the optimization algorithms become incomparable, designing a Pareto-front in this context requires a large number of solutions, and the visualization of such solutions requires special techniques. Several techniques are proposed in the literature to tackle this problem, such as decomposition and algorithms based on indicators. Among them, the algorithms based on dimensionality reduction and algorithms based on the user preferences are widely used. Even though used in different approaches in a separated way, there are no studies in the literature that investigate the usage of dimensionality reduction and preference-based algorithms in a combined way. In light of this, this work proposes an approach called MaDRUP, a Many-objective Optimization with Dimensionality Reduction based on User Preferences for reducing the number of objectives to be optimized based on preferences stated during the solution generation process. This approach has as main goal the generation of a reduced set of solutions taking less execution time but competitively maintaining the quality attributes in comparison with other algorithms. To evaluate the applicability of the proposed approach, we instantiated MaDRUP with the NSGA-II algorithm. Such instantiation is called COR-NSGA-II (Confidence-based Objective Reduction NSGA-II). COR-NSGA-II defines for each objective function a confidence-level calculated with the user preferences provided interactively. The objectives with higher values of confidence are removed from the next algorithm execution. For assessing the feasibility of COR-NSGA-II, a tool called Nautilus was also implemented, and experiments were conducted by using six different SPLs, two types of reference points representing the user preferences, five algorithms, and two scenarios to simulate different user profiles. The results show COR-NSGA-II outperforms most of the evaluated algorithms generating a lower number of solutions with a lower execution time. A qualitative analysis was also performed with a set of 12 potential users. The results show that for such users, the task of selecting a solution generated by COR-NSGA-II is easier than to select a solution generated by other algorithms. Keywords: software product Line testing. search-based software engineering. preference-based algorithms. dimensionality reduction.