Smart prediction for test smell refactorings.

Detalhes bibliográficos
Ano de defesa: 2024
Autor(a) principal: Martins, Luana Almeida lattes
Orientador(a): Machado, Ivan do Carmo lattes
Banca de defesa: Machado, Ivan do Carmo lattes, Vergilio, Silvia Regina lattes, Gheyi, Rohit lattes, Figueiredo, Eduardo Magno Lages lattes, Neto, Manoel Gomes de Mendonça lattes
Tipo de documento: Tese
Tipo de acesso: Acesso aberto
Idioma: eng
Instituição de defesa: Universidade Federal da Bahia
Programa de Pós-Graduação: Programa de Pós-Graduação em Ciência da Computação (PGCOMP) 
Departamento: Instituto de Computação - IC
País: Brasil
Palavras-chave em Português:
Área do conhecimento CNPq:
Link de acesso: https://repositorio.ufba.br/handle/ri/39886
Resumo: Os test smells são considerados más práticas durante o desenvolvimento do código de teste. Sua presença pode reduzir a qualidade do código de teste, prejudicando as ativi- dades de teste e manutenção de software. A refatoração de software é uma prática fundamental para lidar com smells e melhorar a qualidade do software sem alterar seu comportamento. No entanto, as ferramentas de refatoração existentes são voltadas para o código de produção, com características muito diferentes do código de teste. Ape- sar do esforço da comunidade em investigar sobre refatorações de test smells, pouco se sabe sobre os efeitos das refatorações para a qualidade do código de teste. Nesta tese, é apresentada uma abordagem baseada em aprendizado de máquina que pode ajudar os desenvolvedores a decidir quando e como refatorar os test smells. O primeiro objetivo é minerar as refatorações realizadas por desenvolvedores a fim de derivar um catálogo de refatorações de teste e seu impacto no código de teste. Como resultados, pôde-se perceber que os desenvolvedores têm preferência por recursos específicos dos frameworks de teste, o que pode levar a test smells como o Inappropriate Assertion e o Exception Handling. Enquanto as refatorações propostas na literatura alinhadas com a evolução dos frameworks de teste auxiliam na refatoração de test smells, o Inappropriate Asser- tion permanece pouco explorado na literatura. O segundo objetivo busca entender se os códigos de teste com baixa qualidade são alvos de refatoração pelos desenvolvedores e os efeitos das refatorações para a melhoria da qualidade. Como resultados, pôde-se observar que códigos de teste com baixa qualidade, em especial, em termos de métricas estruturais, possuem mais possibilidade de sofrer refatorações. Além disso, as refactorações comuns entre código de teste e produção ajudam a melhorar a qualidade do código de teste em relação à coesão, tamanho e complexidade, enquanto que, refatorações específicas de teste ajudam na melhoria da qualidade em relação a resolução de test smells. O terceiro ob- jetivo utiliza aprendizado de máquina para classificar onde e como os desenvolvedores realizam refatorações teste com o potencial de corrigir os test smells. Os resultados in- dicam que a acurácia do aprendizado de máquina, utilizando o algoritmo Support Vector Machines, varia entre 30% e 100% em diferentes projetos para a detecção de quando o desenvolvedor realizaria alguma refatoração no código. Porém, acurácia diminui para a detecção de refatorações específicas, devido à quantidade de refatorações encontradas nos projetos analisados. De modo geral, esta pesquisa mostra a viabilidade do uso de métricas e test smells para a detecção de refatorações de teste, evidenciando ainda a necessidade de melhorias por meio da análise de dados sintéticos e do contexto de desenvolvimento dos projetos. A abordagem apoia a detecção e refatoração de test smells alinhadas às práticas de desenvolvimento atualmente adotadas pelos desenvolvedores.
id UFBA-2_bf4f4b25138a755ea1f68eeabc965eb9
oai_identifier_str oai:repositorio.ufba.br:ri/39886
network_acronym_str UFBA-2
network_name_str Repositório Institucional da UFBA
repository_id_str
spelling 2024-08-15T13:18:34Z2024-08-15T13:18:34Z2024-03-26MARTINS, Luana Almeida. Smart prediction for test smell refactorings. 2024. 184 f. Tese (Doutorado em Ciência da Computação), Instituto de Computação, Universidade Federal da Bahia, Salvador (Bahia), 2024.https://repositorio.ufba.br/handle/ri/39886Os test smells são considerados más práticas durante o desenvolvimento do código de teste. Sua presença pode reduzir a qualidade do código de teste, prejudicando as ativi- dades de teste e manutenção de software. A refatoração de software é uma prática fundamental para lidar com smells e melhorar a qualidade do software sem alterar seu comportamento. No entanto, as ferramentas de refatoração existentes são voltadas para o código de produção, com características muito diferentes do código de teste. Ape- sar do esforço da comunidade em investigar sobre refatorações de test smells, pouco se sabe sobre os efeitos das refatorações para a qualidade do código de teste. Nesta tese, é apresentada uma abordagem baseada em aprendizado de máquina que pode ajudar os desenvolvedores a decidir quando e como refatorar os test smells. O primeiro objetivo é minerar as refatorações realizadas por desenvolvedores a fim de derivar um catálogo de refatorações de teste e seu impacto no código de teste. Como resultados, pôde-se perceber que os desenvolvedores têm preferência por recursos específicos dos frameworks de teste, o que pode levar a test smells como o Inappropriate Assertion e o Exception Handling. Enquanto as refatorações propostas na literatura alinhadas com a evolução dos frameworks de teste auxiliam na refatoração de test smells, o Inappropriate Asser- tion permanece pouco explorado na literatura. O segundo objetivo busca entender se os códigos de teste com baixa qualidade são alvos de refatoração pelos desenvolvedores e os efeitos das refatorações para a melhoria da qualidade. Como resultados, pôde-se observar que códigos de teste com baixa qualidade, em especial, em termos de métricas estruturais, possuem mais possibilidade de sofrer refatorações. Além disso, as refactorações comuns entre código de teste e produção ajudam a melhorar a qualidade do código de teste em relação à coesão, tamanho e complexidade, enquanto que, refatorações específicas de teste ajudam na melhoria da qualidade em relação a resolução de test smells. O terceiro ob- jetivo utiliza aprendizado de máquina para classificar onde e como os desenvolvedores realizam refatorações teste com o potencial de corrigir os test smells. Os resultados in- dicam que a acurácia do aprendizado de máquina, utilizando o algoritmo Support Vector Machines, varia entre 30% e 100% em diferentes projetos para a detecção de quando o desenvolvedor realizaria alguma refatoração no código. Porém, acurácia diminui para a detecção de refatorações específicas, devido à quantidade de refatorações encontradas nos projetos analisados. De modo geral, esta pesquisa mostra a viabilidade do uso de métricas e test smells para a detecção de refatorações de teste, evidenciando ainda a necessidade de melhorias por meio da análise de dados sintéticos e do contexto de desenvolvimento dos projetos. A abordagem apoia a detecção e refatoração de test smells alinhadas às práticas de desenvolvimento atualmente adotadas pelos desenvolvedores.Test smells are considered bad practices for developing the test code. Their presence can reduce the test code quality, thus harming software testing and maintenance activities. Software refactoring has been a key practice to handle smells and improve software quality without changing its behavior. However, existing refactoring tools target production code with very different characteristics than test code. Despite the research invested in test smell refactoring, little is known about whether current refactorings improve the test code quality. In this thesis, a machine learning-based approach is presented that can help developers decide when and how to refactor test smells. First, we aim to mine refactorings performed by developers to derive a catalog of test-specific refactorings and their impact on the test code. Our findings show that developers prefer specific features of the testing frameworks, which may lead to test smells such as Inappropriate Assertion and Exception Handling. While the refactorings proposed in the literature aligned with the evolution of testing frameworks to help refactor test smells, the Inappropriate Assertion remains unexplored in the literature. Second, we aim to understand whether developers target low-quality test codes to perform refactorings and the effects of refactorings on test code quality improvement. Our findings show that low-quality test code, especially regarding structural metrics, is more likely to undergo refactorings. Common refactorings between test and production code contribute more to improving test code quality in terms of cohesion, size, and complexity. Test-specific refactorings enhance quality concerning the resolution of test smells. Third, we aim to learn whether developers would perform refactorings and which refactorings they would apply to improve the test code quality. Results indicate that the accuracy of Support Vector Machines models varies between 30% and 100% in different projects for detecting when a developer would perform a refactoring. However, accuracy decreases for detecting specific refactorings due to the low data on test refactorings found in analyzed projects. Overall, this research demonstrates the feasibility of using structural metrics and test smells for detecting test refactorings. In addition, it highlights the need for improvements through the analysis of synthetic data and project development context. The proposed approach supports the detection and refactoring of test smells aligned with development practices currently adopted by developers.Fundação de Amparo à Pesquisa do Estado da Bahia (FAPESB)Coordenação de Aperfeiçoamento de Pessoal de Nível Superior (CAPES)engUniversidade Federal da BahiaPrograma de Pós-Graduação em Ciência da Computação (PGCOMP) UFBABrasilInstituto de Computação - ICTest refactoringTest smellsMachine LearningComputingCNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::METODOLOGIA E TECNICAS DA COMPUTACAO::ENGENHARIA DE SOFTWARERefatoração de testeTest smellsAprendizado de máquinaComputaçãoSmart prediction for test smell refactorings.Previsão inteligente para refatorações de teste de cheiro.Doutoradoinfo:eu-repo/semantics/doctoralThesisinfo:eu-repo/semantics/publishedVersionMachado, Ivan do Carmohttps://orcid.org/0000-0001-9027-2293http://lattes.cnpq.br/4430958315746203Costa, Heitor Augustus Xavierhttps://orcid.org/0000-0002-9903-7414http://lattes.cnpq.br/1320324289662918Machado, Ivan do Carmohttps://orcid.org/0000-0001-9027-2293http://lattes.cnpq.br/4430958315746203Vergilio, Silvia Reginahttp://lattes.cnpq.br/0401470121643212Gheyi, Rohithttps://orcid.org/0000-0002-5562-4449http://lattes.cnpq.br/2931270888717344Figueiredo, Eduardo Magno Lageshttp://lattes.cnpq.br/1265706528850746Neto, Manoel Gomes de Mendonçahttp://lattes.cnpq.br/1608062196337851https://orcid.org/0000-0001-6340-7615http://lattes.cnpq.br/7053866339605856Martins, Luana Almeidainfo:eu-repo/semantics/openAccessreponame:Repositório Institucional da UFBAinstname:Universidade Federal da Bahia (UFBA)instacron:UFBAORIGINALTese_CapaAzul_LuanaMartins.pdfTese_CapaAzul_LuanaMartins.pdfTese de Doutorado. Luana Almeida Martinsapplication/pdf10225456https://repositorio.ufba.br/bitstream/ri/39886/1/Tese_CapaAzul_LuanaMartins.pdfe8939a651441ef2d5fd22806759d3d04MD51open accessLICENSElicense.txtlicense.txttext/plain1720https://repositorio.ufba.br/bitstream/ri/39886/2/license.txtd9b7566281c22d808dbf8f29ff0425c8MD52open accessri/398862024-08-15 10:18:34.669open accessoai:repositorio.ufba.br:ri/39886TElDRU7Dh0EgREUgRElTVFJJQlVJw4fDg08gTsODTy1FWENMVVNJVkEKCkNvbSBhIGFwcmVzZW50YcOnw6NvIGRlc3RhIGxpY2Vuw6dhLCBvIGF1dG9yIG91IHRpdHVsYXIgZG9zIGRpcmVpdG9zIGRlIGF1dG9yIGNvbmNlZGUgYW8gUmVwb3NpdMOzcmlvIEluc3RpdHVjaW9uYWwgbyBkaXJlaXRvIG7Do28tZXhjbHVzaXZvIGRlIHJlcHJvZHV6aXIsIHRyYWR1emlyIChjb25mb3JtZSBkZWZpbmlkbyBhYmFpeG8pIGUvb3UgZGlzdHJpYnVpciBhIHN1YSBwdWJsaWNhw6fDo28gKGluY2x1aW5kbyBvIHJlc3Vtbykgbm8gZm9ybWF0byBpbXByZXNzbyBlL291IGVsZXRyw7RuaWNvIGUgZW0gcXVhbHF1ZXIgbWVpbywgaW5jbHVpbmRvIG9zIGZvcm1hdG9zIMOhdWRpbyBlL291IHbDrWRlby4KCk8gYXV0b3Igb3UgdGl0dWxhciBkb3MgZGlyZWl0b3MgZGUgYXV0b3IgY29uY29yZGEgcXVlIG8gUmVwb3NpdMOzcmlvIHBvZGUsIHNlbSBhbHRlcmFyIG8gY29udGXDumRvLCB0cmFuc3BvciBhIHN1YSBwdWJsaWNhw6fDo28gcGFyYSBxdWFscXVlciBtZWlvIGUvb3UgZm9ybWF0byBwYXJhIGZpbnMgZGUgcHJlc2VydmHDp8OjbywgcG9kZW5kbyBtYW50ZXIgbWFpcyBkZSB1bWEgY8OzcGlhIHBhcmEgZmlucyBkZSBzZWd1cmFuw6dhLCBiYWNrdXAgZSBwcmVzZXJ2YcOnw6NvLiAKCk8gYXV0b3Igb3UgdGl0dWxhciBkb3MgZGlyZWl0b3MgZGUgYXV0b3IgZGVjbGFyYSBxdWUgYSBzdWEgcHVibGljYcOnw6NvIMOpIG9yaWdpbmFsIGUgcXVlIG7Do28sIHF1ZSBzZWphIGRlIHNldSBjb25oZWNpbWVudG8sIGluZnJpbmdlIGRpcmVpdG9zIGF1dG9yYWlzIGRlIG5pbmd1w6ltLgoKQ2FzbyBhIHN1YSBwdWJsaWNhw6fDo28gY29udGVuaGEgbWF0ZXJpYWwgcXVlIG7Do28gcG9zc3VpIGEgdGl0dWxhcmlkYWRlIGRvcyBkaXJlaXRvcyBhdXRvcmFpcywgdm9jw6ogZGVjbGFyYSBxdWUgb2J0ZXZlIGEgcGVybWlzc8OjbyBpcnJlc3RyaXRhIGRvIGRldGVudG9yIGRvcyBkaXJlaXRvcyBhdXRvcmFpcyBwYXJhIGNvbmNlZGVyIGFvIFJlcG9zaXTDs3JpbyBvcyBkaXJlaXRvcyBhcHJlc2VudGFkb3MgbmVzdGEgbGljZW7Dp2EgZSBxdWUgZXNzZSBtYXRlcmlhbCBkZSBwcm9wcmllZGFkZSBkZSB0ZXJjZWlyb3MgZXN0w6EgY2xhcmFtZW50ZSBpZGVudGlmaWNhZG8gZSByZWNvbmhlY2lkbyBubyB0ZXh0byBvdSBubyBjb250ZcO6ZG8gZGEgcHVibGljYcOnw6NvIG9yYSBkZXBvc2l0YWRhLgoKQ0FTTyBBIFBVQkxJQ0HDh8ODTyBPUkEgREVQT1NJVEFEQSBSRVNVTFRFIERFIFVNIFBBVFJPQ8ONTklPIE9VIEFQT0lPIERFIFVNQSBBR8OKTkNJQSBERSBGT01FTlRPIE9VIE9VVFJPIE9SR0FOSVNNTywgVk9Dw4ogREVDTEFSQSBRVUUgUkVTUEVJVE9VIFRPRE9TIEUgUVVBSVNRVUVSIERJUkVJVE9TIERFIFJFVklTw4NPLCBDT01PIFRBTULDiU0gQVMgREVNQUlTIE9CUklHQcOHw5VFUyBFWElHSURBUyBQT1IgQ09OVFJBVE8gT1UgQUNPUkRPLgoKTyBSZXBvc2l0w7NyaW8gc2UgY29tcHJvbWV0ZSBhIGlkZW50aWZpY2FyLCBjbGFyYW1lbnRlLCBvIChzKSBzZXUocykgbm9tZSAocykgb3UgbyAocykgbm9tZSAocykgZG8gKHMpIGRldGVudG9yIChlcykgZG9zIGRpcmVpdG9zIGF1dG9yYWlzIGRhIHB1YmxpY2HDp8OjbyBlIG7Do28gZmFyw6EgcXVhbHF1ZXIgYWx0ZXJhw6fDo28sIGFsw6ltIGRhcXVlbGFzIGNvbmNlZGlkYXMgcG9yIGVzdGEgbGljZW7Dp2EuCg==Repositório InstitucionalPUBhttps://repositorio.ufba.br/oai/requestrepositorio@ufba.bropendoar:19322024-08-15T13:18:34Repositório Institucional da UFBA - Universidade Federal da Bahia (UFBA)false
dc.title.pt_BR.fl_str_mv Smart prediction for test smell refactorings.
dc.title.alternative.pt_BR.fl_str_mv Previsão inteligente para refatorações de teste de cheiro.
title Smart prediction for test smell refactorings.
spellingShingle Smart prediction for test smell refactorings.
Martins, Luana Almeida
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::METODOLOGIA E TECNICAS DA COMPUTACAO::ENGENHARIA DE SOFTWARE
Refatoração de teste
Test smells
Aprendizado de máquina
Computação
Test refactoring
Test smells
Machine Learning
Computing
title_short Smart prediction for test smell refactorings.
title_full Smart prediction for test smell refactorings.
title_fullStr Smart prediction for test smell refactorings.
title_full_unstemmed Smart prediction for test smell refactorings.
title_sort Smart prediction for test smell refactorings.
author Martins, Luana Almeida
author_facet Martins, Luana Almeida
author_role author
dc.contributor.advisor1.fl_str_mv Machado, Ivan do Carmo
dc.contributor.advisor1ID.fl_str_mv https://orcid.org/0000-0001-9027-2293
dc.contributor.advisor1Lattes.fl_str_mv http://lattes.cnpq.br/4430958315746203
dc.contributor.advisor-co1.fl_str_mv Costa, Heitor Augustus Xavier
dc.contributor.advisor-co1ID.fl_str_mv https://orcid.org/0000-0002-9903-7414
dc.contributor.advisor-co1Lattes.fl_str_mv http://lattes.cnpq.br/1320324289662918
dc.contributor.referee1.fl_str_mv Machado, Ivan do Carmo
dc.contributor.referee1ID.fl_str_mv https://orcid.org/0000-0001-9027-2293
dc.contributor.referee1Lattes.fl_str_mv http://lattes.cnpq.br/4430958315746203
dc.contributor.referee2.fl_str_mv Vergilio, Silvia Regina
dc.contributor.referee2Lattes.fl_str_mv http://lattes.cnpq.br/0401470121643212
dc.contributor.referee3.fl_str_mv Gheyi, Rohit
dc.contributor.referee3ID.fl_str_mv https://orcid.org/0000-0002-5562-4449
dc.contributor.referee3Lattes.fl_str_mv http://lattes.cnpq.br/2931270888717344
dc.contributor.referee4.fl_str_mv Figueiredo, Eduardo Magno Lages
dc.contributor.referee4Lattes.fl_str_mv http://lattes.cnpq.br/1265706528850746
dc.contributor.referee5.fl_str_mv Neto, Manoel Gomes de Mendonça
dc.contributor.referee5Lattes.fl_str_mv http://lattes.cnpq.br/1608062196337851
dc.contributor.authorID.fl_str_mv https://orcid.org/0000-0001-6340-7615
dc.contributor.authorLattes.fl_str_mv http://lattes.cnpq.br/7053866339605856
dc.contributor.author.fl_str_mv Martins, Luana Almeida
contributor_str_mv Machado, Ivan do Carmo
Costa, Heitor Augustus Xavier
Machado, Ivan do Carmo
Vergilio, Silvia Regina
Gheyi, Rohit
Figueiredo, Eduardo Magno Lages
Neto, Manoel Gomes de Mendonça
dc.subject.cnpq.fl_str_mv CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::METODOLOGIA E TECNICAS DA COMPUTACAO::ENGENHARIA DE SOFTWARE
topic CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::METODOLOGIA E TECNICAS DA COMPUTACAO::ENGENHARIA DE SOFTWARE
Refatoração de teste
Test smells
Aprendizado de máquina
Computação
Test refactoring
Test smells
Machine Learning
Computing
dc.subject.por.fl_str_mv Refatoração de teste
Test smells
Aprendizado de máquina
Computação
dc.subject.other.pt_BR.fl_str_mv Test refactoring
Test smells
Machine Learning
Computing
description Os test smells são considerados más práticas durante o desenvolvimento do código de teste. Sua presença pode reduzir a qualidade do código de teste, prejudicando as ativi- dades de teste e manutenção de software. A refatoração de software é uma prática fundamental para lidar com smells e melhorar a qualidade do software sem alterar seu comportamento. No entanto, as ferramentas de refatoração existentes são voltadas para o código de produção, com características muito diferentes do código de teste. Ape- sar do esforço da comunidade em investigar sobre refatorações de test smells, pouco se sabe sobre os efeitos das refatorações para a qualidade do código de teste. Nesta tese, é apresentada uma abordagem baseada em aprendizado de máquina que pode ajudar os desenvolvedores a decidir quando e como refatorar os test smells. O primeiro objetivo é minerar as refatorações realizadas por desenvolvedores a fim de derivar um catálogo de refatorações de teste e seu impacto no código de teste. Como resultados, pôde-se perceber que os desenvolvedores têm preferência por recursos específicos dos frameworks de teste, o que pode levar a test smells como o Inappropriate Assertion e o Exception Handling. Enquanto as refatorações propostas na literatura alinhadas com a evolução dos frameworks de teste auxiliam na refatoração de test smells, o Inappropriate Asser- tion permanece pouco explorado na literatura. O segundo objetivo busca entender se os códigos de teste com baixa qualidade são alvos de refatoração pelos desenvolvedores e os efeitos das refatorações para a melhoria da qualidade. Como resultados, pôde-se observar que códigos de teste com baixa qualidade, em especial, em termos de métricas estruturais, possuem mais possibilidade de sofrer refatorações. Além disso, as refactorações comuns entre código de teste e produção ajudam a melhorar a qualidade do código de teste em relação à coesão, tamanho e complexidade, enquanto que, refatorações específicas de teste ajudam na melhoria da qualidade em relação a resolução de test smells. O terceiro ob- jetivo utiliza aprendizado de máquina para classificar onde e como os desenvolvedores realizam refatorações teste com o potencial de corrigir os test smells. Os resultados in- dicam que a acurácia do aprendizado de máquina, utilizando o algoritmo Support Vector Machines, varia entre 30% e 100% em diferentes projetos para a detecção de quando o desenvolvedor realizaria alguma refatoração no código. Porém, acurácia diminui para a detecção de refatorações específicas, devido à quantidade de refatorações encontradas nos projetos analisados. De modo geral, esta pesquisa mostra a viabilidade do uso de métricas e test smells para a detecção de refatorações de teste, evidenciando ainda a necessidade de melhorias por meio da análise de dados sintéticos e do contexto de desenvolvimento dos projetos. A abordagem apoia a detecção e refatoração de test smells alinhadas às práticas de desenvolvimento atualmente adotadas pelos desenvolvedores.
publishDate 2024
dc.date.accessioned.fl_str_mv 2024-08-15T13:18:34Z
dc.date.available.fl_str_mv 2024-08-15T13:18:34Z
dc.date.issued.fl_str_mv 2024-03-26
dc.type.driver.fl_str_mv Doutorado
info:eu-repo/semantics/doctoralThesis
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
format doctoralThesis
status_str publishedVersion
dc.identifier.citation.fl_str_mv MARTINS, Luana Almeida. Smart prediction for test smell refactorings. 2024. 184 f. Tese (Doutorado em Ciência da Computação), Instituto de Computação, Universidade Federal da Bahia, Salvador (Bahia), 2024.
dc.identifier.uri.fl_str_mv https://repositorio.ufba.br/handle/ri/39886
identifier_str_mv MARTINS, Luana Almeida. Smart prediction for test smell refactorings. 2024. 184 f. Tese (Doutorado em Ciência da Computação), Instituto de Computação, Universidade Federal da Bahia, Salvador (Bahia), 2024.
url https://repositorio.ufba.br/handle/ri/39886
dc.language.iso.fl_str_mv eng
language eng
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.publisher.none.fl_str_mv Universidade Federal da Bahia
dc.publisher.program.fl_str_mv Programa de Pós-Graduação em Ciência da Computação (PGCOMP) 
dc.publisher.initials.fl_str_mv UFBA
dc.publisher.country.fl_str_mv Brasil
dc.publisher.department.fl_str_mv Instituto de Computação - IC
publisher.none.fl_str_mv Universidade Federal da Bahia
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFBA
instname:Universidade Federal da Bahia (UFBA)
instacron:UFBA
instname_str Universidade Federal da Bahia (UFBA)
instacron_str UFBA
institution UFBA
reponame_str Repositório Institucional da UFBA
collection Repositório Institucional da UFBA
bitstream.url.fl_str_mv https://repositorio.ufba.br/bitstream/ri/39886/1/Tese_CapaAzul_LuanaMartins.pdf
https://repositorio.ufba.br/bitstream/ri/39886/2/license.txt
bitstream.checksum.fl_str_mv e8939a651441ef2d5fd22806759d3d04
d9b7566281c22d808dbf8f29ff0425c8
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UFBA - Universidade Federal da Bahia (UFBA)
repository.mail.fl_str_mv repositorio@ufba.br
_version_ 1847342046026661888