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

Detalhes bibliográficos
Ano de defesa: 2016
Autor(a) principal: Freitas, Eduardo Noronha de Andrade lattes
Orientador(a): Vincenzi, Auri Marcelo RIzzo lattes
Banca de defesa: 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á
Tipo de documento: Tese
Tipo de acesso: Acesso aberto
Idioma: por
Instituição de defesa: Universidade Federal de Goiás
Programa de Pós-Graduação: Programa de Pós-graduação em Ciência da Computação (INF)
Departamento: Instituto de Informática - INF (RG)
País: Brasil
Palavras-chave em Inglês:
Área do conhecimento CNPq:
Link de acesso: http://repositorio.bc.ufg.br/tede/handle/tede/5674
Resumo: 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.
id UFG_33e46581d4a46adc40f7dbb066db8473
oai_identifier_str oai:repositorio.bc.ufg.br:tede/5674
network_acronym_str UFG
network_name_str Biblioteca Digital de Teses e Dissertações da UFG
repository_id_str
spelling Vincenzi, Auri Marcelo RIzzohttp://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4763450Y6Camilo Júnior, Celso Gonçalveshttp://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4736184D1Vincenzi, Auri Marcelo RizzoCamilo Júnior, Celso GonçalvesFerrari, Fabiano CutigiDias Neto, Arilo CláudioLeitão Júnior, Plínio de Sáhttp://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4755037J2Freitas, Eduardo Noronha de Andrade2016-06-10T11:14:00Z2016-02-15FREITAS, 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/5674The 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)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-15Coordenação de Aperfeiçoamento de Pessoal de Nível Superior - CAPESFundação de Amparo à Pesquisa do Estado de Goiás - FAPEGapplication/pdfporUniversidade Federal de GoiásPrograma de Pós-graduação em Ciência da Computação (INF)UFGBrasilInstituto de Informática - INF (RG)http://creativecommons.org/licenses/by/4.0/info:eu-repo/semantics/openAccessSoftware testingUnit testingComponent selectionSearch based software testing (SBST)Multiobjective optmizationCIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAOSCOUT: a multi-objective method to select components in designing unit testinginfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/doctoralThesis-3303550325223384799600600600600600-771226673463364476836717112058112045092075167498588264571-961409807440757778reponame:Biblioteca Digital de Teses e Dissertações da UFGinstname:Universidade Federal de Goiás (UFG)instacron:UFGORIGINALTese - Eduardo Noronha de Andrade Freitas - 2016.pdfTese - Eduardo Noronha de Andrade Freitas - 2016.pdfapplication/pdf1936673http://repositorio.bc.ufg.br/tede/bitstreams/3c949b0a-7fb3-4111-adf8-1083388743e9/download4336d187b0e552ae806ef83b9f695db0MD55LICENSElicense.txtlicense.txttext/plain; charset=utf-82165http://repositorio.bc.ufg.br/tede/bitstreams/a28d78d1-4bb8-4995-b116-aa047b9b352e/downloadbd3efa91386c1718a7f26a329fdcb468MD51CC-LICENSElicense_urllicense_urltext/plain; charset=utf-843http://repositorio.bc.ufg.br/tede/bitstreams/45420fb0-b2f7-4826-b130-73a7e3130ae1/download321f3992dd3875151d8801b773ab32edMD52license_textlicense_texttext/html; charset=utf-821818http://repositorio.bc.ufg.br/tede/bitstreams/43acaddf-6ef9-4296-a89c-3c6042333980/downloadb19767193fa05eb8852808b812c188a0MD53license_rdflicense_rdfapplication/rdf+xml; charset=utf-819874http://repositorio.bc.ufg.br/tede/bitstreams/95d7ef49-fb15-4a09-86b4-8c1e74bf4e08/download38cb62ef53e6f513db2fb7e337df6485MD54tede/56742019-06-27 09:41:32.651http://creativecommons.org/licenses/by/4.0/Acesso Abertoopen.accessoai:repositorio.bc.ufg.br:tede/5674http://repositorio.bc.ufg.br/tedeBiblioteca Digital de Teses e Dissertaçõeshttp://repositorio.bc.ufg.br/PUBhttps://repositorio.bc.ufg.br/tede_oai/requesttesesdissertacoes.bc@ufg.br ||tesesdissertacoes.bc@ufg.bropendoar:32082019-06-27T12:41:32Biblioteca Digital de Teses e Dissertações da UFG - Universidade Federal de Goiás (UFG)falseTk9UQTogQ09MT1FVRSBBUVVJIEEgU1VBIFBSw5NQUklBIExJQ0VOw4dBCkVzdGEgbGljZW7Dp2EgZGUgZXhlbXBsbyDDqSBmb3JuZWNpZGEgYXBlbmFzIHBhcmEgZmlucyBpbmZvcm1hdGl2b3MuCgpMSUNFTsOHQSBERSBESVNUUklCVUnDh8ODTyBOw4NPLUVYQ0xVU0lWQQoKQ29tIGEgYXByZXNlbnRhw6fDo28gZGVzdGEgbGljZW7Dp2EsIHZvY8OqIChvIGF1dG9yIChlcykgb3UgbyB0aXR1bGFyIGRvcyBkaXJlaXRvcyBkZSBhdXRvcikgY29uY2VkZSDDoCBVbml2ZXJzaWRhZGUgClhYWCAoU2lnbGEgZGEgVW5pdmVyc2lkYWRlKSBvIGRpcmVpdG8gbsOjby1leGNsdXNpdm8gZGUgcmVwcm9kdXppciwgIHRyYWR1emlyIChjb25mb3JtZSBkZWZpbmlkbyBhYmFpeG8pLCBlL291IApkaXN0cmlidWlyIGEgc3VhIHRlc2Ugb3UgZGlzc2VydGHDp8OjbyAoaW5jbHVpbmRvIG8gcmVzdW1vKSBwb3IgdG9kbyBvIG11bmRvIG5vIGZvcm1hdG8gaW1wcmVzc28gZSBlbGV0csO0bmljbyBlIAplbSBxdWFscXVlciBtZWlvLCBpbmNsdWluZG8gb3MgZm9ybWF0b3Mgw6F1ZGlvIG91IHbDrWRlby4KClZvY8OqIGNvbmNvcmRhIHF1ZSBhIFNpZ2xhIGRlIFVuaXZlcnNpZGFkZSBwb2RlLCBzZW0gYWx0ZXJhciBvIGNvbnRlw7pkbywgdHJhbnNwb3IgYSBzdWEgdGVzZSBvdSBkaXNzZXJ0YcOnw6NvIApwYXJhIHF1YWxxdWVyIG1laW8gb3UgZm9ybWF0byBwYXJhIGZpbnMgZGUgcHJlc2VydmHDp8Ojby4KClZvY8OqIHRhbWLDqW0gY29uY29yZGEgcXVlIGEgU2lnbGEgZGUgVW5pdmVyc2lkYWRlIHBvZGUgbWFudGVyIG1haXMgZGUgdW1hIGPDs3BpYSBhIHN1YSB0ZXNlIG91IApkaXNzZXJ0YcOnw6NvIHBhcmEgZmlucyBkZSBzZWd1cmFuw6dhLCBiYWNrLXVwIGUgcHJlc2VydmHDp8Ojby4KClZvY8OqIGRlY2xhcmEgcXVlIGEgc3VhIHRlc2Ugb3UgZGlzc2VydGHDp8OjbyDDqSBvcmlnaW5hbCBlIHF1ZSB2b2PDqiB0ZW0gbyBwb2RlciBkZSBjb25jZWRlciBvcyBkaXJlaXRvcyBjb250aWRvcyAKbmVzdGEgbGljZW7Dp2EuIFZvY8OqIHRhbWLDqW0gZGVjbGFyYSBxdWUgbyBkZXDDs3NpdG8gZGEgc3VhIHRlc2Ugb3UgZGlzc2VydGHDp8OjbyBuw6NvLCBxdWUgc2VqYSBkZSBzZXUgCmNvbmhlY2ltZW50bywgaW5mcmluZ2UgZGlyZWl0b3MgYXV0b3JhaXMgZGUgbmluZ3XDqW0uCgpDYXNvIGEgc3VhIHRlc2Ugb3UgZGlzc2VydGHDp8OjbyBjb250ZW5oYSBtYXRlcmlhbCBxdWUgdm9jw6ogbsOjbyBwb3NzdWkgYSB0aXR1bGFyaWRhZGUgZG9zIGRpcmVpdG9zIGF1dG9yYWlzLCB2b2PDqiAKZGVjbGFyYSBxdWUgb2J0ZXZlIGEgcGVybWlzc8OjbyBpcnJlc3RyaXRhIGRvIGRldGVudG9yIGRvcyBkaXJlaXRvcyBhdXRvcmFpcyBwYXJhIGNvbmNlZGVyIMOgIFNpZ2xhIGRlIFVuaXZlcnNpZGFkZSAKb3MgZGlyZWl0b3MgYXByZXNlbnRhZG9zIG5lc3RhIGxpY2Vuw6dhLCBlIHF1ZSBlc3NlIG1hdGVyaWFsIGRlIHByb3ByaWVkYWRlIGRlIHRlcmNlaXJvcyBlc3TDoSBjbGFyYW1lbnRlIAppZGVudGlmaWNhZG8gZSByZWNvbmhlY2lkbyBubyB0ZXh0byBvdSBubyBjb250ZcO6ZG8gZGEgdGVzZSBvdSBkaXNzZXJ0YcOnw6NvIG9yYSBkZXBvc2l0YWRhLgoKQ0FTTyBBIFRFU0UgT1UgRElTU0VSVEHDh8ODTyBPUkEgREVQT1NJVEFEQSBURU5IQSBTSURPIFJFU1VMVEFETyBERSBVTSBQQVRST0PDjU5JTyBPVSAKQVBPSU8gREUgVU1BIEFHw4pOQ0lBIERFIEZPTUVOVE8gT1UgT1VUUk8gT1JHQU5JU01PIFFVRSBOw4NPIFNFSkEgQSBTSUdMQSBERSAKVU5JVkVSU0lEQURFLCBWT0PDiiBERUNMQVJBIFFVRSBSRVNQRUlUT1UgVE9ET1MgRSBRVUFJU1FVRVIgRElSRUlUT1MgREUgUkVWSVPDg08gQ09NTyAKVEFNQsOJTSBBUyBERU1BSVMgT0JSSUdBw4fDlUVTIEVYSUdJREFTIFBPUiBDT05UUkFUTyBPVSBBQ09SRE8uCgpBIFNpZ2xhIGRlIFVuaXZlcnNpZGFkZSBzZSBjb21wcm9tZXRlIGEgaWRlbnRpZmljYXIgY2xhcmFtZW50ZSBvIHNldSBub21lIChzKSBvdSBvKHMpIG5vbWUocykgZG8ocykgCmRldGVudG9yKGVzKSBkb3MgZGlyZWl0b3MgYXV0b3JhaXMgZGEgdGVzZSBvdSBkaXNzZXJ0YcOnw6NvLCBlIG7Do28gZmFyw6EgcXVhbHF1ZXIgYWx0ZXJhw6fDo28sIGFsw6ltIGRhcXVlbGFzIApjb25jZWRpZGFzIHBvciBlc3RhIGxpY2Vuw6dhLgo=
dc.title.por.fl_str_mv SCOUT: a multi-objective method to select components in designing unit testing
title SCOUT: a multi-objective method to select components in designing unit testing
spellingShingle SCOUT: a multi-objective method to select components in designing unit testing
Freitas, Eduardo Noronha de Andrade
Software testing
Unit testing
Component selection
Search based software testing (SBST)
Multiobjective optmization
CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
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
author Freitas, Eduardo Noronha de Andrade
author_facet Freitas, Eduardo Noronha de Andrade
author_role author
dc.contributor.advisor1.fl_str_mv Vincenzi, Auri Marcelo RIzzo
dc.contributor.advisor1Lattes.fl_str_mv http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4763450Y6
dc.contributor.advisor-co1.fl_str_mv Camilo Júnior, Celso Gonçalves
dc.contributor.advisor-co1Lattes.fl_str_mv http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4736184D1
dc.contributor.referee1.fl_str_mv Vincenzi, Auri Marcelo Rizzo
dc.contributor.referee2.fl_str_mv Camilo Júnior, Celso Gonçalves
dc.contributor.referee3.fl_str_mv Ferrari, Fabiano Cutigi
dc.contributor.referee4.fl_str_mv Dias Neto, Arilo Cláudio
dc.contributor.referee5.fl_str_mv Leitão Júnior, Plínio de Sá
dc.contributor.authorLattes.fl_str_mv http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4755037J2
dc.contributor.author.fl_str_mv Freitas, Eduardo Noronha de Andrade
contributor_str_mv 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á
dc.subject.eng.fl_str_mv Software testing
Unit testing
Component selection
Search based software testing (SBST)
Multiobjective optmization
topic Software testing
Unit testing
Component selection
Search based software testing (SBST)
Multiobjective optmization
CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
dc.subject.cnpq.fl_str_mv CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
description 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.
publishDate 2016
dc.date.accessioned.fl_str_mv 2016-06-10T11:14:00Z
dc.date.issued.fl_str_mv 2016-02-15
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/doctoralThesis
format doctoralThesis
status_str publishedVersion
dc.identifier.citation.fl_str_mv 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.
dc.identifier.uri.fl_str_mv http://repositorio.bc.ufg.br/tede/handle/tede/5674
identifier_str_mv 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.
url http://repositorio.bc.ufg.br/tede/handle/tede/5674
dc.language.iso.fl_str_mv por
language por
dc.relation.program.fl_str_mv -3303550325223384799
dc.relation.confidence.fl_str_mv 600
600
600
600
600
dc.relation.department.fl_str_mv -7712266734633644768
dc.relation.cnpq.fl_str_mv 3671711205811204509
dc.relation.sponsorship.fl_str_mv 2075167498588264571
-961409807440757778
dc.rights.driver.fl_str_mv http://creativecommons.org/licenses/by/4.0/
info:eu-repo/semantics/openAccess
rights_invalid_str_mv http://creativecommons.org/licenses/by/4.0/
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.publisher.none.fl_str_mv Universidade Federal de Goiás
dc.publisher.program.fl_str_mv Programa de Pós-graduação em Ciência da Computação (INF)
dc.publisher.initials.fl_str_mv UFG
dc.publisher.country.fl_str_mv Brasil
dc.publisher.department.fl_str_mv Instituto de Informática - INF (RG)
publisher.none.fl_str_mv Universidade Federal de Goiás
dc.source.none.fl_str_mv reponame:Biblioteca Digital de Teses e Dissertações da UFG
instname:Universidade Federal de Goiás (UFG)
instacron:UFG
instname_str Universidade Federal de Goiás (UFG)
instacron_str UFG
institution UFG
reponame_str Biblioteca Digital de Teses e Dissertações da UFG
collection Biblioteca Digital de Teses e Dissertações da UFG
bitstream.url.fl_str_mv http://repositorio.bc.ufg.br/tede/bitstreams/3c949b0a-7fb3-4111-adf8-1083388743e9/download
http://repositorio.bc.ufg.br/tede/bitstreams/a28d78d1-4bb8-4995-b116-aa047b9b352e/download
http://repositorio.bc.ufg.br/tede/bitstreams/45420fb0-b2f7-4826-b130-73a7e3130ae1/download
http://repositorio.bc.ufg.br/tede/bitstreams/43acaddf-6ef9-4296-a89c-3c6042333980/download
http://repositorio.bc.ufg.br/tede/bitstreams/95d7ef49-fb15-4a09-86b4-8c1e74bf4e08/download
bitstream.checksum.fl_str_mv 4336d187b0e552ae806ef83b9f695db0
bd3efa91386c1718a7f26a329fdcb468
321f3992dd3875151d8801b773ab32ed
b19767193fa05eb8852808b812c188a0
38cb62ef53e6f513db2fb7e337df6485
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
MD5
repository.name.fl_str_mv Biblioteca Digital de Teses e Dissertações da UFG - Universidade Federal de Goiás (UFG)
repository.mail.fl_str_mv tesesdissertacoes.bc@ufg.br ||tesesdissertacoes.bc@ufg.br
_version_ 1797047608476172288