SCOUT: a multi-objective method to select components in designing unit testing
Ano de defesa: | 2016 |
---|---|
Autor(a) principal: | |
Orientador(a): | |
Banca de defesa: | , , , , |
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 |