Um catálogo de refatorações envolvendo expressões lambda em Java

Detalhes bibliográficos
Autor(a) principal: Teixeira Júnior, Jânio Elias
Data de Publicação: 2014
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/5446
Resumo: Programming language evolution provides room for improving existing programs. Developers can upgrade their projects, applying new features available in the latest language versions. However, during maintenance activities, the code artefacts can become distant from their original conception. In this context, the use of transformation techniques and processes can be interesting, as it reduces the error-proneness when improving source code structure. Refactoring is a process of improving the design of a software system, modifying its internal structure without changing its external observable behavior. From this scenario, this work presents a refactoring catalog focused on the new features of the Java language. Such refactorings are related to lambda expressions and seek to allow the transformation of features implemented in Java 7 for the current version 8. To evaluate the proposed refactorings applicability, we developed a static analysis and used it in a set of open source projects aiming to search for opportunities to apply those refactorings.
id UFSM_3e3b2af245f5daabd0596bb8e5c5d117
oai_identifier_str oai:repositorio.ufsm.br:1/5446
network_acronym_str UFSM
network_name_str Manancial - Repositório Digital da UFSM
repository_id_str
spelling Um catálogo de refatorações envolvendo expressões lambda em JavaA catalog of refactorings involving lambda expressions in JavaRefatoraçãoExpressões lambdaClosuresRefactoringLambda expressionsClosuresCNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAOProgramming language evolution provides room for improving existing programs. Developers can upgrade their projects, applying new features available in the latest language versions. However, during maintenance activities, the code artefacts can become distant from their original conception. In this context, the use of transformation techniques and processes can be interesting, as it reduces the error-proneness when improving source code structure. Refactoring is a process of improving the design of a software system, modifying its internal structure without changing its external observable behavior. From this scenario, this work presents a refactoring catalog focused on the new features of the Java language. Such refactorings are related to lambda expressions and seek to allow the transformation of features implemented in Java 7 for the current version 8. To evaluate the proposed refactorings applicability, we developed a static analysis and used it in a set of open source projects aiming to search for opportunities to apply those refactorings.A evolução de uma linguagem de programação fornece espaços para melhorias de programas existentes. Dessa forma, desenvolvedores podem atualizar projetos de sistemas de software, aplicando os novos recursos disponíveis na linguagem. No entanto, ao adaptar, melhorar e modificar um sistema de software, seu código pode se afastar de sua concepção original. Nesse contexto, o uso de técnicas e processos de transformação pode ser interessante, pois reduz a possibilidade de erros ao realizar uma melhoria em uma estrutura de código, por exemplo. A refatoração é um processo de melhoria do projeto de um sistema de software, que altera sua estrutura interna, sem modificar seu comportamento externo observável. A partir desse cenário, este trabalho tem como principal objetivo apresentar um catálogo de refatorações direcionadas às novas funcionalidades da linguagem Java. Tais refatorações estão relacionadas às expressões lambda e visam permitir a transformação de construções implementadas em Java 7 para sua atual versão 8. Para avaliar a aplicabilidade das refatorações propostas, um conjunto de projetos de código aberto foi submetido a uma ferramenta de análise estática, desenvolvida para realizar buscas por oportunidades de refatoração.Universidade Federal de Santa MariaBRCiência da ComputaçãoUFSMPrograma de Pós-Graduação em InformáticaPiveta, Eduardo Kesslerhttp://lattes.cnpq.br/8687196768910831Vizzotto, Juliana Kaizerhttp://lattes.cnpq.br/4384914116033913Bois, André Rauber Duhttp://lattes.cnpq.br/3277487290886063Teixeira Júnior, Jânio Elias2015-04-272015-04-272014-08-28info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfapplication/pdfTEIXEIRA JÚNIOR, Jânio Elias. A CATALOG OF REFACTORINGS INVOLVING LAMBDA EXPRESSIONS IN JAVA. 2014. 92 f. Dissertação (Mestrado em Ciência da Computação) - Universidade Federal de Santa Maria, Santa Maria, 2014.http://repositorio.ufsm.br/handle/1/5446porinfo:eu-repo/semantics/openAccessreponame:Manancial - Repositório Digital da UFSMinstname:Universidade Federal de Santa Maria (UFSM)instacron:UFSM2022-01-28T12:34:08Zoai:repositorio.ufsm.br:1/5446Biblioteca Digital de Teses e Dissertaçõeshttps://repositorio.ufsm.br/ONGhttps://repositorio.ufsm.br/oai/requestatendimento.sib@ufsm.br||tedebc@gmail.comopendoar:2022-01-28T12:34:08Manancial - Repositório Digital da UFSM - Universidade Federal de Santa Maria (UFSM)false
dc.title.none.fl_str_mv Um catálogo de refatorações envolvendo expressões lambda em Java
A catalog of refactorings involving lambda expressions in Java
title Um catálogo de refatorações envolvendo expressões lambda em Java
spellingShingle Um catálogo de refatorações envolvendo expressões lambda em Java
Teixeira Júnior, Jânio Elias
Refatoração
Expressões lambda
Closures
Refactoring
Lambda expressions
Closures
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
title_short Um catálogo de refatorações envolvendo expressões lambda em Java
title_full Um catálogo de refatorações envolvendo expressões lambda em Java
title_fullStr Um catálogo de refatorações envolvendo expressões lambda em Java
title_full_unstemmed Um catálogo de refatorações envolvendo expressões lambda em Java
title_sort Um catálogo de refatorações envolvendo expressões lambda em Java
author Teixeira Júnior, Jânio Elias
author_facet Teixeira Júnior, Jânio Elias
author_role author
dc.contributor.none.fl_str_mv Piveta, Eduardo Kessler
http://lattes.cnpq.br/8687196768910831
Vizzotto, Juliana Kaizer
http://lattes.cnpq.br/4384914116033913
Bois, André Rauber Du
http://lattes.cnpq.br/3277487290886063
dc.contributor.author.fl_str_mv Teixeira Júnior, Jânio Elias
dc.subject.por.fl_str_mv Refatoração
Expressões lambda
Closures
Refactoring
Lambda expressions
Closures
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
topic Refatoração
Expressões lambda
Closures
Refactoring
Lambda expressions
Closures
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
description Programming language evolution provides room for improving existing programs. Developers can upgrade their projects, applying new features available in the latest language versions. However, during maintenance activities, the code artefacts can become distant from their original conception. In this context, the use of transformation techniques and processes can be interesting, as it reduces the error-proneness when improving source code structure. Refactoring is a process of improving the design of a software system, modifying its internal structure without changing its external observable behavior. From this scenario, this work presents a refactoring catalog focused on the new features of the Java language. Such refactorings are related to lambda expressions and seek to allow the transformation of features implemented in Java 7 for the current version 8. To evaluate the proposed refactorings applicability, we developed a static analysis and used it in a set of open source projects aiming to search for opportunities to apply those refactorings.
publishDate 2014
dc.date.none.fl_str_mv 2014-08-28
2015-04-27
2015-04-27
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 TEIXEIRA JÚNIOR, Jânio Elias. A CATALOG OF REFACTORINGS INVOLVING LAMBDA EXPRESSIONS IN JAVA. 2014. 92 f. Dissertação (Mestrado em Ciência da Computação) - Universidade Federal de Santa Maria, Santa Maria, 2014.
http://repositorio.ufsm.br/handle/1/5446
identifier_str_mv TEIXEIRA JÚNIOR, Jânio Elias. A CATALOG OF REFACTORINGS INVOLVING LAMBDA EXPRESSIONS IN JAVA. 2014. 92 f. Dissertação (Mestrado em Ciência da Computação) - Universidade Federal de Santa Maria, Santa Maria, 2014.
url http://repositorio.ufsm.br/handle/1/5446
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.format.none.fl_str_mv application/pdf
application/pdf
dc.publisher.none.fl_str_mv Universidade Federal de Santa Maria
BR
Ciência da Computação
UFSM
Programa de Pós-Graduação em Informática
publisher.none.fl_str_mv Universidade Federal de Santa Maria
BR
Ciência da Computação
UFSM
Programa de Pós-Graduação em Informática
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_ 1805922162654052352