Refatorações para a evolução de programas Java

Detalhes bibliográficos
Autor(a) principal: Prates, Bernardo Petry
Data de Publicação: 2018
Tipo de documento: Dissertação
Idioma: por
Título da fonte: Manancial - Repositório Digital da UFSM
Texto Completo: http://repositorio.ufsm.br/handle/1/16783
Resumo: With the evolution of a language, the possibility of updating old constructions and benefiting from new features arises. However, as systems are modified, adapted and updated, their code and other artifacts may become more complex, prone to errors and departed from their original design, thus decreasing their quality. We present a catalog of thirty refactorings for the evolution of Java programs and the definition of detection functions for the search of opportunities to apply those refactorings in order to guide developers towards program evolution. Furthermore, we developed an API to perform a case study using five open source projects in order to evaluate and to validate the refactorings and functions presented.
id UFSM_8dd06ea2ca8ae047922dac248f060d7f
oai_identifier_str oai:repositorio.ufsm.br:1/16783
network_acronym_str UFSM
network_name_str Manancial - Repositório Digital da UFSM
repository_id_str
spelling Refatorações para a evolução de programas JavaRefactorings for the evolution of Java programsRefatoraçãoEvolução de programasJavaFunções de detecçãoRefactoringPrograms evolutionDetection functionsCNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAOWith the evolution of a language, the possibility of updating old constructions and benefiting from new features arises. However, as systems are modified, adapted and updated, their code and other artifacts may become more complex, prone to errors and departed from their original design, thus decreasing their quality. We present a catalog of thirty refactorings for the evolution of Java programs and the definition of detection functions for the search of opportunities to apply those refactorings in order to guide developers towards program evolution. Furthermore, we developed an API to perform a case study using five open source projects in order to evaluate and to validate the refactorings and functions presented.Com a evolução de uma linguagem, surge a possibilidade de atualizar construções antigas e se beneficiar de novas funcionalidades. Porém, à medida que os sistemas são modificados, adaptados e atualizados, seu código e outros artefatos envolvidos podem se tornar mais complexos, propensos a erros e se afastarem de sua concepção original, podendo diminuir sua qualidade. Então, de forma a guiar desenvolvedores para evolução de programas, este trabalho propõe um catálogo com trinta refatorações para a evolução de programas em Java e a definição de quinze funções de detecção para a busca de oportunidades para aplicar as refatorações propostas. Após isso, com o objetivo de avaliar e validar as refatorações e funções apresentadas, foi desenvolvida uma API para a realização de um estudo de caso utilizando cinco projetos de código aberto.Universidade Federal de Santa MariaBrasilCiência da ComputaçãoUFSMPrograma de Pós-Graduação em Ciência da ComputaçãoCentro de TecnologiaPiveta, Eduardo Kesslerhttp://lattes.cnpq.br/8687196768910831Fontoura, Lisandra Manzonihttp://lattes.cnpq.br/8979575031016933Silveira, Maicon Bernardino dahttp://lattes.cnpq.br/0523166822363498Prates, Bernardo Petry2019-06-07T12:36:38Z2019-06-07T12:36:38Z2018-12-20info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttp://repositorio.ufsm.br/handle/1/16783porAttribution-NonCommercial-NoDerivatives 4.0 Internationalhttp://creativecommons.org/licenses/by-nc-nd/4.0/info:eu-repo/semantics/openAccessreponame:Manancial - Repositório Digital da UFSMinstname:Universidade Federal de Santa Maria (UFSM)instacron:UFSM2019-06-08T06:00:32Zoai:repositorio.ufsm.br:1/16783Biblioteca Digital de Teses e Dissertaçõeshttps://repositorio.ufsm.br/ONGhttps://repositorio.ufsm.br/oai/requestatendimento.sib@ufsm.br||tedebc@gmail.comopendoar:2019-06-08T06:00:32Manancial - Repositório Digital da UFSM - Universidade Federal de Santa Maria (UFSM)false
dc.title.none.fl_str_mv Refatorações para a evolução de programas Java
Refactorings for the evolution of Java programs
title Refatorações para a evolução de programas Java
spellingShingle Refatorações para a evolução de programas Java
Prates, Bernardo Petry
Refatoração
Evolução de programas
Java
Funções de detecção
Refactoring
Programs evolution
Detection functions
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
title_short Refatorações para a evolução de programas Java
title_full Refatorações para a evolução de programas Java
title_fullStr Refatorações para a evolução de programas Java
title_full_unstemmed Refatorações para a evolução de programas Java
title_sort Refatorações para a evolução de programas Java
author Prates, Bernardo Petry
author_facet Prates, Bernardo Petry
author_role author
dc.contributor.none.fl_str_mv Piveta, Eduardo Kessler
http://lattes.cnpq.br/8687196768910831
Fontoura, Lisandra Manzoni
http://lattes.cnpq.br/8979575031016933
Silveira, Maicon Bernardino da
http://lattes.cnpq.br/0523166822363498
dc.contributor.author.fl_str_mv Prates, Bernardo Petry
dc.subject.por.fl_str_mv Refatoração
Evolução de programas
Java
Funções de detecção
Refactoring
Programs evolution
Detection functions
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
topic Refatoração
Evolução de programas
Java
Funções de detecção
Refactoring
Programs evolution
Detection functions
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
description With the evolution of a language, the possibility of updating old constructions and benefiting from new features arises. However, as systems are modified, adapted and updated, their code and other artifacts may become more complex, prone to errors and departed from their original design, thus decreasing their quality. We present a catalog of thirty refactorings for the evolution of Java programs and the definition of detection functions for the search of opportunities to apply those refactorings in order to guide developers towards program evolution. Furthermore, we developed an API to perform a case study using five open source projects in order to evaluate and to validate the refactorings and functions presented.
publishDate 2018
dc.date.none.fl_str_mv 2018-12-20
2019-06-07T12:36:38Z
2019-06-07T12:36:38Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv http://repositorio.ufsm.br/handle/1/16783
url http://repositorio.ufsm.br/handle/1/16783
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv Attribution-NonCommercial-NoDerivatives 4.0 International
http://creativecommons.org/licenses/by-nc-nd/4.0/
info:eu-repo/semantics/openAccess
rights_invalid_str_mv Attribution-NonCommercial-NoDerivatives 4.0 International
http://creativecommons.org/licenses/by-nc-nd/4.0/
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.publisher.none.fl_str_mv Universidade Federal de Santa Maria
Brasil
Ciência da Computação
UFSM
Programa de Pós-Graduação em Ciência da Computação
Centro de Tecnologia
publisher.none.fl_str_mv Universidade Federal de Santa Maria
Brasil
Ciência da Computação
UFSM
Programa de Pós-Graduação em Ciência da Computação
Centro de Tecnologia
dc.source.none.fl_str_mv reponame:Manancial - Repositório Digital da UFSM
instname:Universidade Federal de Santa Maria (UFSM)
instacron:UFSM
instname_str Universidade Federal de Santa Maria (UFSM)
instacron_str UFSM
institution UFSM
reponame_str Manancial - Repositório Digital da UFSM
collection Manancial - Repositório Digital da UFSM
repository.name.fl_str_mv Manancial - Repositório Digital da UFSM - Universidade Federal de Santa Maria (UFSM)
repository.mail.fl_str_mv atendimento.sib@ufsm.br||tedebc@gmail.com
_version_ 1805922171555414016