Avaliando a qualidade de suítes de teste geradas automaticamente em detectar faltas introduzidas por refatoramentos.

Detalhes bibliográficos
Autor(a) principal: GOMES, Levi Rios.
Data de Publicação: 2023
Tipo de documento: Trabalho de conclusão de curso
Idioma: por
Título da fonte: Biblioteca Digital de Teses e Dissertações da UFCG
Texto Completo: http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/29336
Resumo: Refatoramentos são a prática em que desenvolvedores alteram seu código de forma que não altere o comportamento do sistema. Tal prática costuma vir acompanhada do uso de suítes de regressão para detectar mudanças de comportamento indesejadas em um sistema. Porém, tais suítes de teste podem não garantir a detecção de faltas, criando um falso senso de segurança durante refatoramentos, visto que a suíte pode não perceber certas alterações. Neste trabalho, propomos uma abordagem que tem por objetivo avaliar tais suítes de teste na sua capacidade de detectar faltas de refatoramento, assim como as comparar com alternativas de geração de suítes de teste automatizadas. Para isso, foi realizado um estudo relacionado às faltas do refatoramento Extract Method, e o desenvolvimento de uma ferramenta que facilita a avaliação de uma suíte de testes, por meio de um plugin da IDE Eclipse feito com a linguagem de programação Java. A partir disso, foram criados mutantes de refatoramento (faltas) e utilizados em um estudo quantitativo, no qual avaliamos as suítes de regressão de 3 diferentes projetos open source, assim como suítes de testes geradas pela ferramenta de geração EvoSuite. Nossos estudos mostraram que existe uma possível relação entre cobertura de testes e detecção de mutantes de refatoramento em um sistema, assim como uma negligência de casos menos comuns durante o desenvolvimento dessas suítes, visto que cerca de 38,7% das faltas de refatoramento injetadas não foram detectadas nas suítes manuais, e 45,3% nas suítes automatizadas, demonstrando que existe espaço para melhoria das suites de teste focadas neste contexto.
id UFCG_656f046d16b438447804bfe7b0ffdb2a
oai_identifier_str oai:localhost:riufcg/29336
network_acronym_str UFCG
network_name_str Biblioteca Digital de Teses e Dissertações da UFCG
repository_id_str 4851
spelling Avaliando a qualidade de suítes de teste geradas automaticamente em detectar faltas introduzidas por refatoramentos.Evaluating the quality of automatically generated test suites in detecting faults introduced by refactorings.Suítes de testesTest suitesRefatoramentoRefactoringTestes de mutaçãoMutation testsDetecção de faltas em sistemas - suítesFault detection in systems - suitesFaltas em sistemas - suítes de testesFaults in systems - test suitesCiência da Computação.Refatoramentos são a prática em que desenvolvedores alteram seu código de forma que não altere o comportamento do sistema. Tal prática costuma vir acompanhada do uso de suítes de regressão para detectar mudanças de comportamento indesejadas em um sistema. Porém, tais suítes de teste podem não garantir a detecção de faltas, criando um falso senso de segurança durante refatoramentos, visto que a suíte pode não perceber certas alterações. Neste trabalho, propomos uma abordagem que tem por objetivo avaliar tais suítes de teste na sua capacidade de detectar faltas de refatoramento, assim como as comparar com alternativas de geração de suítes de teste automatizadas. Para isso, foi realizado um estudo relacionado às faltas do refatoramento Extract Method, e o desenvolvimento de uma ferramenta que facilita a avaliação de uma suíte de testes, por meio de um plugin da IDE Eclipse feito com a linguagem de programação Java. A partir disso, foram criados mutantes de refatoramento (faltas) e utilizados em um estudo quantitativo, no qual avaliamos as suítes de regressão de 3 diferentes projetos open source, assim como suítes de testes geradas pela ferramenta de geração EvoSuite. Nossos estudos mostraram que existe uma possível relação entre cobertura de testes e detecção de mutantes de refatoramento em um sistema, assim como uma negligência de casos menos comuns durante o desenvolvimento dessas suítes, visto que cerca de 38,7% das faltas de refatoramento injetadas não foram detectadas nas suítes manuais, e 45,3% nas suítes automatizadas, demonstrando que existe espaço para melhoria das suites de teste focadas neste contexto.Refactorings are the practice where developers alter their code in a way that does not alter the system's behavior. Such a practice is usually accompanied by the use of regression suites to detect unwanted changes in a system's behavior. However, such test suites may not guarantee fault detection, creating a false sense of security during refactorings, since the suite may not detect certain changes. In this work, we propose an approach that aims to evaluate such test suites in their capacity to detect refactoring faults, as well as compare these suites to automated test suites alternatives. For this, a study related to the refactoring faults of the Extract Method refactoring type was carried out, as well as the development of a tool that facilitates the evaluation of a test suite, through a Eclipse IDE plugin made using the Java programming language. From this, refactoring mutants(faults) were created and utilized in a quantitative study, in which we evaluate the regression suites of 3 different open source projects, as well as test suites generated by the generation tool EvoSuite. Our studies show that there is a possible relation between test coverage and refactoring mutant detection in a system, as well as negligence of less common cases during the development of these suites, since about 38.7% of refactoring faults inserted where not detected by the manual test suites, and 45.3% by the automated suites, showing that there is room for improvement in the test suites focused in this context.Universidade Federal de Campina GrandeBrasilCentro de Engenharia Elétrica e Informática - CEEIUFCGLIRA, Melina Mongiovi Brito.LIRA, M. M. B.MACHADO, Patricia Duarte De Lima.MACHADO, P. D. L.MASSONI, Tiago LimaMASSONI, T. L.GOMES, Levi Rios.2023-02-142023-04-11T11:54:15Z2023-04-112023-04-11T11:54:15Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/bachelorThesishttp://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/29336GOMES, Levi Rios. Avaliando a qualidade de suítes de teste geradas automaticamente em detectar faltas introduzidas por refatoramentos. 2023. 10f. (Trabalho de Conclusão de Curso - Artigo), Curso de Bacharelado em Ciência da Computação, Centro de Engenharia Elétrica e Informática , Universidade Federal de Campina Grande – Paraíba - Brasil, 2023. Disponível em: http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/29336porinfo:eu-repo/semantics/openAccessreponame:Biblioteca Digital de Teses e Dissertações da UFCGinstname:Universidade Federal de Campina Grande (UFCG)instacron:UFCG2023-04-11T11:56:22Zoai:localhost:riufcg/29336Biblioteca Digital de Teses e Dissertaçõeshttp://bdtd.ufcg.edu.br/PUBhttp://dspace.sti.ufcg.edu.br:8080/oai/requestbdtd@setor.ufcg.edu.br || bdtd@setor.ufcg.edu.bropendoar:48512023-04-11T11:56:22Biblioteca Digital de Teses e Dissertações da UFCG - Universidade Federal de Campina Grande (UFCG)false
dc.title.none.fl_str_mv Avaliando a qualidade de suítes de teste geradas automaticamente em detectar faltas introduzidas por refatoramentos.
Evaluating the quality of automatically generated test suites in detecting faults introduced by refactorings.
title Avaliando a qualidade de suítes de teste geradas automaticamente em detectar faltas introduzidas por refatoramentos.
spellingShingle Avaliando a qualidade de suítes de teste geradas automaticamente em detectar faltas introduzidas por refatoramentos.
GOMES, Levi Rios.
Suítes de testes
Test suites
Refatoramento
Refactoring
Testes de mutação
Mutation tests
Detecção de faltas em sistemas - suítes
Fault detection in systems - suites
Faltas em sistemas - suítes de testes
Faults in systems - test suites
Ciência da Computação.
title_short Avaliando a qualidade de suítes de teste geradas automaticamente em detectar faltas introduzidas por refatoramentos.
title_full Avaliando a qualidade de suítes de teste geradas automaticamente em detectar faltas introduzidas por refatoramentos.
title_fullStr Avaliando a qualidade de suítes de teste geradas automaticamente em detectar faltas introduzidas por refatoramentos.
title_full_unstemmed Avaliando a qualidade de suítes de teste geradas automaticamente em detectar faltas introduzidas por refatoramentos.
title_sort Avaliando a qualidade de suítes de teste geradas automaticamente em detectar faltas introduzidas por refatoramentos.
author GOMES, Levi Rios.
author_facet GOMES, Levi Rios.
author_role author
dc.contributor.none.fl_str_mv LIRA, Melina Mongiovi Brito.
LIRA, M. M. B.
MACHADO, Patricia Duarte De Lima.
MACHADO, P. D. L.
MASSONI, Tiago Lima
MASSONI, T. L.
dc.contributor.author.fl_str_mv GOMES, Levi Rios.
dc.subject.por.fl_str_mv Suítes de testes
Test suites
Refatoramento
Refactoring
Testes de mutação
Mutation tests
Detecção de faltas em sistemas - suítes
Fault detection in systems - suites
Faltas em sistemas - suítes de testes
Faults in systems - test suites
Ciência da Computação.
topic Suítes de testes
Test suites
Refatoramento
Refactoring
Testes de mutação
Mutation tests
Detecção de faltas em sistemas - suítes
Fault detection in systems - suites
Faltas em sistemas - suítes de testes
Faults in systems - test suites
Ciência da Computação.
description Refatoramentos são a prática em que desenvolvedores alteram seu código de forma que não altere o comportamento do sistema. Tal prática costuma vir acompanhada do uso de suítes de regressão para detectar mudanças de comportamento indesejadas em um sistema. Porém, tais suítes de teste podem não garantir a detecção de faltas, criando um falso senso de segurança durante refatoramentos, visto que a suíte pode não perceber certas alterações. Neste trabalho, propomos uma abordagem que tem por objetivo avaliar tais suítes de teste na sua capacidade de detectar faltas de refatoramento, assim como as comparar com alternativas de geração de suítes de teste automatizadas. Para isso, foi realizado um estudo relacionado às faltas do refatoramento Extract Method, e o desenvolvimento de uma ferramenta que facilita a avaliação de uma suíte de testes, por meio de um plugin da IDE Eclipse feito com a linguagem de programação Java. A partir disso, foram criados mutantes de refatoramento (faltas) e utilizados em um estudo quantitativo, no qual avaliamos as suítes de regressão de 3 diferentes projetos open source, assim como suítes de testes geradas pela ferramenta de geração EvoSuite. Nossos estudos mostraram que existe uma possível relação entre cobertura de testes e detecção de mutantes de refatoramento em um sistema, assim como uma negligência de casos menos comuns durante o desenvolvimento dessas suítes, visto que cerca de 38,7% das faltas de refatoramento injetadas não foram detectadas nas suítes manuais, e 45,3% nas suítes automatizadas, demonstrando que existe espaço para melhoria das suites de teste focadas neste contexto.
publishDate 2023
dc.date.none.fl_str_mv 2023-02-14
2023-04-11T11:54:15Z
2023-04-11
2023-04-11T11:54:15Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/bachelorThesis
format bachelorThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/29336
GOMES, Levi Rios. Avaliando a qualidade de suítes de teste geradas automaticamente em detectar faltas introduzidas por refatoramentos. 2023. 10f. (Trabalho de Conclusão de Curso - Artigo), Curso de Bacharelado em Ciência da Computação, Centro de Engenharia Elétrica e Informática , Universidade Federal de Campina Grande – Paraíba - Brasil, 2023. Disponível em: http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/29336
url http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/29336
identifier_str_mv GOMES, Levi Rios. Avaliando a qualidade de suítes de teste geradas automaticamente em detectar faltas introduzidas por refatoramentos. 2023. 10f. (Trabalho de Conclusão de Curso - Artigo), Curso de Bacharelado em Ciência da Computação, Centro de Engenharia Elétrica e Informática , Universidade Federal de Campina Grande – Paraíba - Brasil, 2023. Disponível em: http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/29336
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.publisher.none.fl_str_mv Universidade Federal de Campina Grande
Brasil
Centro de Engenharia Elétrica e Informática - CEEI
UFCG
publisher.none.fl_str_mv Universidade Federal de Campina Grande
Brasil
Centro de Engenharia Elétrica e Informática - CEEI
UFCG
dc.source.none.fl_str_mv reponame:Biblioteca Digital de Teses e Dissertações da UFCG
instname:Universidade Federal de Campina Grande (UFCG)
instacron:UFCG
instname_str Universidade Federal de Campina Grande (UFCG)
instacron_str UFCG
institution UFCG
reponame_str Biblioteca Digital de Teses e Dissertações da UFCG
collection Biblioteca Digital de Teses e Dissertações da UFCG
repository.name.fl_str_mv Biblioteca Digital de Teses e Dissertações da UFCG - Universidade Federal de Campina Grande (UFCG)
repository.mail.fl_str_mv bdtd@setor.ufcg.edu.br || bdtd@setor.ufcg.edu.br
_version_ 1809744572655337472