SCOUT: a multi-objective method to select components in designing unit testing

Submitted by Marlene Santos (marlene.bc.ufg@gmail.com) on 2016-06-09T17:02:10Z No. of bitstreams: 2 Tese - Eduardo Noronha de Andrade Freitas - 2016.pdf: 1936673 bytes, checksum: 4336d187b0e552ae806ef83b9f695db0 (MD5) license_rdf: 19874 bytes, checksum: 38cb62ef53e6f513db2fb7e337df6485 (MD5) === App...

Full description

Bibliographic Details
Main Author: Freitas, Eduardo Noronha de Andrade
Other Authors: Vincenzi, Auri Marcelo RIzzo
Format: Others
Language:Portuguese
Published: Universidade Federal de Goiás 2016
Subjects:
Online Access:http://repositorio.bc.ufg.br/tede/handle/tede/5674
id ndltd-IBICT-oai-repositorio.bc.ufg.br-tede-5674
record_format oai_dc
collection NDLTD
language Portuguese
format Others
sources NDLTD
topic Software testing
Unit testing
Component selection
Search based software testing (SBST)
Multiobjective optmization
CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
spellingShingle Software testing
Unit testing
Component selection
Search based software testing (SBST)
Multiobjective optmization
CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
Freitas, Eduardo Noronha de Andrade
SCOUT: a multi-objective method to select components in designing unit testing
description Submitted by Marlene Santos (marlene.bc.ufg@gmail.com) on 2016-06-09T17:02:10Z No. of bitstreams: 2 Tese - Eduardo Noronha de Andrade Freitas - 2016.pdf: 1936673 bytes, checksum: 4336d187b0e552ae806ef83b9f695db0 (MD5) license_rdf: 19874 bytes, checksum: 38cb62ef53e6f513db2fb7e337df6485 (MD5) === Approved for entry into archive by Luciana Ferreira (lucgeral@gmail.com) on 2016-06-10T11:14:00Z (GMT) No. of bitstreams: 2 Tese - Eduardo Noronha de Andrade Freitas - 2016.pdf: 1936673 bytes, checksum: 4336d187b0e552ae806ef83b9f695db0 (MD5) license_rdf: 19874 bytes, checksum: 38cb62ef53e6f513db2fb7e337df6485 (MD5) === Made available in DSpace on 2016-06-10T11:14:00Z (GMT). No. of bitstreams: 2 Tese - Eduardo Noronha de Andrade Freitas - 2016.pdf: 1936673 bytes, checksum: 4336d187b0e552ae806ef83b9f695db0 (MD5) license_rdf: 19874 bytes, checksum: 38cb62ef53e6f513db2fb7e337df6485 (MD5) Previous issue date: 2016-02-15 === Coordenação de Aperfeiçoamento de Pessoal de Nível Superior - CAPES === Fundação de Amparo à Pesquisa do Estado de Goiás - FAPEG === 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. === (Sem resumo)
author2 Vincenzi, Auri Marcelo RIzzo
author_facet Vincenzi, Auri Marcelo RIzzo
Freitas, Eduardo Noronha de Andrade
author Freitas, Eduardo Noronha de Andrade
author_sort Freitas, Eduardo Noronha de Andrade
title SCOUT: a multi-objective method to select components in designing unit testing
title_short SCOUT: a multi-objective method to select components in designing unit testing
title_full SCOUT: a multi-objective method to select components in designing unit testing
title_fullStr SCOUT: a multi-objective method to select components in designing unit testing
title_full_unstemmed SCOUT: a multi-objective method to select components in designing unit testing
title_sort scout: a multi-objective method to select components in designing unit testing
publisher Universidade Federal de Goiás
publishDate 2016
url http://repositorio.bc.ufg.br/tede/handle/tede/5674
work_keys_str_mv AT freitaseduardonoronhadeandrade scoutamultiobjectivemethodtoselectcomponentsindesigningunittesting
_version_ 1718896639926599680
spelling ndltd-IBICT-oai-repositorio.bc.ufg.br-tede-56742019-01-21T22:39:00Z SCOUT: a multi-objective method to select components in designing unit testing Freitas, Eduardo Noronha de Andrade Vincenzi, Auri Marcelo RIzzo Camilo Júnior, Celso Gonçalves 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á Software testing Unit testing Component selection Search based software testing (SBST) Multiobjective optmization CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO Submitted by Marlene Santos (marlene.bc.ufg@gmail.com) on 2016-06-09T17:02:10Z No. of bitstreams: 2 Tese - Eduardo Noronha de Andrade Freitas - 2016.pdf: 1936673 bytes, checksum: 4336d187b0e552ae806ef83b9f695db0 (MD5) license_rdf: 19874 bytes, checksum: 38cb62ef53e6f513db2fb7e337df6485 (MD5) Approved for entry into archive by Luciana Ferreira (lucgeral@gmail.com) on 2016-06-10T11:14:00Z (GMT) No. of bitstreams: 2 Tese - Eduardo Noronha de Andrade Freitas - 2016.pdf: 1936673 bytes, checksum: 4336d187b0e552ae806ef83b9f695db0 (MD5) license_rdf: 19874 bytes, checksum: 38cb62ef53e6f513db2fb7e337df6485 (MD5) Made available in DSpace on 2016-06-10T11:14:00Z (GMT). No. of bitstreams: 2 Tese - Eduardo Noronha de Andrade Freitas - 2016.pdf: 1936673 bytes, checksum: 4336d187b0e552ae806ef83b9f695db0 (MD5) license_rdf: 19874 bytes, checksum: 38cb62ef53e6f513db2fb7e337df6485 (MD5) Previous issue date: 2016-02-15 Coordenação de Aperfeiçoamento de Pessoal de Nível Superior - CAPES Fundação de Amparo à Pesquisa do Estado de Goiás - FAPEG 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. (Sem resumo) 2016-06-10T11:14:00Z 2016-02-15 info:eu-repo/semantics/publishedVersion info:eu-repo/semantics/doctoralThesis FREITAS, E. N. A. SCOUT: a multi-objective method to select components in designing unit testing. 2016. 82 f. Tese (Doutorado em Ciência da Computação) - Universidade Federal de Goiás, Goiânia, 2016. http://repositorio.bc.ufg.br/tede/handle/tede/5674 por -3303550325223384799 600 600 600 600 600 -7712266734633644768 3671711205811204509 2075167498588264571 -961409807440757778 http://creativecommons.org/licenses/by/4.0/ info:eu-repo/semantics/openAccess application/pdf Universidade Federal de Goiás Programa de Pós-graduação em Ciência da Computação (INF) UFG Brasil Instituto de Informática - INF (RG) reponame:Biblioteca Digital de Teses e Dissertações da UFG instname:Universidade Federal de Goiás instacron:UFG