Programa de Pós-graduação em Ciência da Computação em Rede
URI Permanente desta comunidade
Navegar
Navegando Programa de Pós-graduação em Ciência da Computação em Rede por Autor "Freitas, Eduardo Noronha de Andrade"
Agora exibindo 1 - 1 de 1
Resultados por página
Opções de Ordenação
Item SCOUT: a multi-objective method to select components in designing unit testing(Universidade Federal de Goiás, 2016-02-15) Freitas, Eduardo Noronha de Andrade; Camilo Júnior, Celso Gonçalves; http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4736184D1; Vincenzi, Auri Marcelo RIzzo; http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4763450Y6; Vincenzi, Auri Marcelo Rizzo; Camilo Júnior, Celso Gonçalves; Ferrari, Fabiano Cutigi; Dias Neto, Arilo Cláudio; Leitão Júnior, Plínio de SáThe creation of a suite of unit testing is preceded by the selection of which components (code units) should be tested. This selection is a significant challenge, usually made based on the team member’s experience or guided by defect prediction or fault localization models. We modeled the selection of components for unit testing with limited resources as a multi-objective problem, addressing two different objectives: maximizing benefits and minimizing cost. To measure the benefit of a component, we made use of important metrics from static analysis (cost of future maintenance), dynamic analysis (risk of fault, and frequency of calls), and business value. We tackled gaps and challenges in the literature to formulate an effective method, the Selector of Software Components for Unit testing (SCOUT). SCOUT was structured in two stages: an automated extraction of all necessary data and a multi-objective optimization process. The Android platform was chosen to perform our experiments, and nine leading open-source applications were used as our subjects. SCOUT was compared with two of the most frequently used strategies in terms of efficacy.We also compared the effectiveness and efficiency of seven algorithms in solving a multi-objective component selection problem: random technique; constructivist heuristic; Gurobi, a commercial tool; genetic algorithm; SPEA_II; NSGA_II; and NSGA_III. The results indicate the benefits of using multi-objective evolutionary approaches such as NSGA_II and demonstrate that SCOUT has a significant potential to reduce market vulnerability. To the best of our knowledge, SCOUT is the first method to assist software testing managers in selecting components at the method level for the development of unit testing in an automated way based on a multi-objective approach, exploring static and dynamic metrics and business value.