Um catálogo de refatorações para evoluir programas Java

Detalhes bibliográficos
Autor(a) principal: Bruning, Eduardo
Data de Publicação: 2020
Tipo de documento: Dissertação
Idioma: por
Título da fonte: Manancial - Repositório Digital da UFSM
dARK ID: ark:/26339/0013000018fws
Texto Completo: http://repositorio.ufsm.br/handle/1/22277
Resumo: The evolution of language allow that previously developed software systems can update their structures to use features made available in most recent versions of these languages. As a result, the artifacts can become very complex and affect the product quality, changing their original features. Consequently, thinking of assisting the developer during the program evaluation, this work presents a catalog with twenty-two refactorings using the new features of Java language, each of them containing one or more heuristics to detect opportunities to apply them in the code. In order to evaluate and validate the refactorings and heuristics presented, a study case was carried out using six open source projects. To that end, was developed a plug-in that utilizes heuristics to look for opportunities.
id UFSM_2d02011bda2a7077f1a42b7b68eb2abe
oai_identifier_str oai:repositorio.ufsm.br:1/22277
network_acronym_str UFSM
network_name_str Manancial - Repositório Digital da UFSM
repository_id_str
spelling Um catálogo de refatorações para evoluir programas JavaA catalog of refactoring to evolve Java programsRefatoraçãoJavaEvoluçãoHeurísticasRefactoringEvolutionHeuristicsCNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAOThe evolution of language allow that previously developed software systems can update their structures to use features made available in most recent versions of these languages. As a result, the artifacts can become very complex and affect the product quality, changing their original features. Consequently, thinking of assisting the developer during the program evaluation, this work presents a catalog with twenty-two refactorings using the new features of Java language, each of them containing one or more heuristics to detect opportunities to apply them in the code. In order to evaluate and validate the refactorings and heuristics presented, a study case was carried out using six open source projects. To that end, was developed a plug-in that utilizes heuristics to look for opportunities.A evolução das linguagens permitem que sistemas de softwares desenvolvidos anteriormente possam atualizar suas estruturas para utilizar recursos disponibilizados em versões mais recentes dessas linguagens. Em decorrência disso, os artefatos podem se tornar muito complexos e afetar a qualidade do produto, alterando suas características originais. Desta forma, pensando em auxiliar os desenvolvedores durante a evolução de programas, esse trabalho apresenta um catálogo contendo vinte e duas refatorações utilizando as novas funcionalidades da linguagem Java, cada uma delas possuindo uma ou mais heurísticas para detectar oportunidades de aplicá-las no código. A fim de avaliar e validar as refatorações e heurísticas apresentadas foi realizado um estudo de caso utilizando seis projetos de código aberto. Para isso, foi desenvolvido um plug-in que usa as heurísticas para realizar a busca das oportunidades.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 ManzoniSilveira, Maicon Bernardino daBruning, Eduardo2021-09-27T18:56:56Z2021-09-27T18:56:56Z2020-03-20info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttp://repositorio.ufsm.br/handle/1/22277ark:/26339/0013000018fwsporAttribution-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:UFSM2022-01-03T14:40:46Zoai:repositorio.ufsm.br:1/22277Biblioteca Digital de Teses e Dissertaçõeshttps://repositorio.ufsm.br/ONGhttps://repositorio.ufsm.br/oai/requestatendimento.sib@ufsm.br||tedebc@gmail.comopendoar:2022-01-03T14:40:46Manancial - Repositório Digital da UFSM - Universidade Federal de Santa Maria (UFSM)false
dc.title.none.fl_str_mv Um catálogo de refatorações para evoluir programas Java
A catalog of refactoring to evolve Java programs
title Um catálogo de refatorações para evoluir programas Java
spellingShingle Um catálogo de refatorações para evoluir programas Java
Bruning, Eduardo
Refatoração
Java
Evolução
Heurísticas
Refactoring
Evolution
Heuristics
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
title_short Um catálogo de refatorações para evoluir programas Java
title_full Um catálogo de refatorações para evoluir programas Java
title_fullStr Um catálogo de refatorações para evoluir programas Java
title_full_unstemmed Um catálogo de refatorações para evoluir programas Java
title_sort Um catálogo de refatorações para evoluir programas Java
author Bruning, Eduardo
author_facet Bruning, Eduardo
author_role author
dc.contributor.none.fl_str_mv Piveta, Eduardo Kessler
http://lattes.cnpq.br/8687196768910831
Fontoura, Lisandra Manzoni
Silveira, Maicon Bernardino da
dc.contributor.author.fl_str_mv Bruning, Eduardo
dc.subject.por.fl_str_mv Refatoração
Java
Evolução
Heurísticas
Refactoring
Evolution
Heuristics
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
topic Refatoração
Java
Evolução
Heurísticas
Refactoring
Evolution
Heuristics
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
description The evolution of language allow that previously developed software systems can update their structures to use features made available in most recent versions of these languages. As a result, the artifacts can become very complex and affect the product quality, changing their original features. Consequently, thinking of assisting the developer during the program evaluation, this work presents a catalog with twenty-two refactorings using the new features of Java language, each of them containing one or more heuristics to detect opportunities to apply them in the code. In order to evaluate and validate the refactorings and heuristics presented, a study case was carried out using six open source projects. To that end, was developed a plug-in that utilizes heuristics to look for opportunities.
publishDate 2020
dc.date.none.fl_str_mv 2020-03-20
2021-09-27T18:56:56Z
2021-09-27T18:56:56Z
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/22277
dc.identifier.dark.fl_str_mv ark:/26339/0013000018fws
url http://repositorio.ufsm.br/handle/1/22277
identifier_str_mv ark:/26339/0013000018fws
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_ 1815172471858397184