Análise do impacto na compreensão de programas Java com a introdução de expressões lambda
Autor(a) principal: | |
---|---|
Data de Publicação: | 2019 |
Tipo de documento: | Dissertação |
Idioma: | por |
Título da fonte: | Repositório Institucional da UnB |
Texto Completo: | https://repositorio.unb.br/handle/10482/36024 |
Resumo: | Dissertação (mestrado)—Universidade de Brasília, Instituto de Ciências Exatas, Departamento de Ciência da Computação, 2019. |
id |
UNB_81a5df68d509ac6eb85df23c0474ba74 |
---|---|
oai_identifier_str |
oai:repositorio.unb.br:10482/36024 |
network_acronym_str |
UNB |
network_name_str |
Repositório Institucional da UnB |
repository_id_str |
|
spelling |
Análise do impacto na compreensão de programas Java com a introdução de expressões lambdaLinguagem de programação (Computadores)Java (Linguagem de programação de computador)Expressões lambdaDissertação (mestrado)—Universidade de Brasília, Instituto de Ciências Exatas, Departamento de Ciência da Computação, 2019.As expressões lambda foram introduzidas na linguagem Java com o intuito de facilitar o estilo de programação funcional e com o passar do tempo o número de desenvolvedores que utilizam os novos recursos vêm crescendo. Trabalhos recentes sem o uso de avaliações rigorosas sugerem que a adoção de expressões lambda leva a um ganho direto na legibilidade de código. Todavia, existem alguns fatores impeditivos para a aplicação de ferramentas de transformação, o que incluem sugestões inadequadas que não levam a resultados satisfatórios. Esta pesquisa teve como objetivo realizar uma investigação empírica para avaliar se a adoção de expressões lambda ocasiona melhorias na compreensão do programa, um dos benefícios esperados pelo uso da nova construção em Java e em quais situações deve ser aplicada. Foi realizado um estudo de métodos mistos, no qual foi elaborado um survey, para captar a percepção dos desenvolvedores em relação ao impacto na legibilidade de trechos de código com a adoção de expressões lambda, e foram realizados cálculos de métricas extraídas diretamente do código fonte, com o intuito de comparar a interpretação dos dados extraídos do survey. O estudo empírico realizado mostra cenários onde os desenvolvedores percebem uma melhora na compreensão do código e cenários onde a transformação não ocasiona melhorias. Acredita-se que através desses resultados os desenvolvedores de bibliotecas de refatoração poderão melhorar suas ferramentas. Além de melhorias a legibilidade foi possível inferir que adoção de expressões lambda podem reduzir a complexidade e o tamanho dos programas.Lambda expressions were introduced in the Java language in order to facilitate the functional programming style and with the passage of time the number of developers using the new features has been growing. Recent works without the use of rigorous evaluations suggest that the adoption of lambda expressions leads to a direct gain in code readability. However, there are some hindering factors for the application of transformation tools, which include inadequate suggestions that do not lead to satisfactory results. The aim of this research was to evaluate whether the adoption of lambda expressions leads to improvements in the understanding of the program, one of the benefits expected from the use of the new Java construct and in which situations it should be applied. A study of mixed methods was carried out, in which a survey was elaborated to capture the perception of the developers in relation to the impact on the readability of code snippets with the adoption of lambda expressions, and calculations were made of metrics extracted directly from the source code, with the purpose of comparing the interpretation of the data extracted from the survey. The empirical study shows scenarios where developers perceive an improvement in code comprehension and scenarios where transformation does not lead to improvements. It is believed that through these results, developers of refactoring libraries will be able to improve their tools. In addition to readability improvements it was possible to infer that adopting lambda expressions can reduce the complexity and size of programs.Instituto de Ciências Exatas (IE)Departamento de Ciência da Computação (IE CIC)Programa de Pós-Graduação em InformáticaAlmeida, Rodrigo Bonifácio deMendonça, Walter Lucas Monteiro de2019-12-27T16:25:57Z2019-12-27T16:25:57Z2019-12-272019-06-03info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfMENDONÇA, Walter Lucas Monteiro de. Análise do impacto na compreensão de programas Java com a introdução de expressões lambda. 2019. xi, 75 f., il. Dissertação (Mestrado em Informática)—Universidade de Brasília, Brasília, 2019.https://repositorio.unb.br/handle/10482/36024A concessão da licença deste item refere-se ao termo de autorização impresso assinado pelo autor com as seguintes condições: Na qualidade de titular dos direitos de autor da publicação, autorizo a Universidade de Brasília e o IBICT a disponibilizar por meio dos sites www.bce.unb.br, www.ibict.br, http://hercules.vtls.com/cgi-bin/ndltd/chameleon?lng=pt&skin=ndltd sem ressarcimento dos direitos autorais, de acordo com a Lei nº 9610/98, o texto integral da obra disponibilizada, conforme permissões assinaladas, para fins de leitura, impressão e/ou download, a título de divulgação da produção científica brasileira, a partir desta data.info:eu-repo/semantics/openAccessporreponame:Repositório Institucional da UnBinstname:Universidade de Brasília (UnB)instacron:UNB2024-03-14T15:41:37Zoai:repositorio.unb.br:10482/36024Repositório InstitucionalPUBhttps://repositorio.unb.br/oai/requestrepositorio@unb.bropendoar:2024-03-14T15:41:37Repositório Institucional da UnB - Universidade de Brasília (UnB)false |
dc.title.none.fl_str_mv |
Análise do impacto na compreensão de programas Java com a introdução de expressões lambda |
title |
Análise do impacto na compreensão de programas Java com a introdução de expressões lambda |
spellingShingle |
Análise do impacto na compreensão de programas Java com a introdução de expressões lambda Mendonça, Walter Lucas Monteiro de Linguagem de programação (Computadores) Java (Linguagem de programação de computador) Expressões lambda |
title_short |
Análise do impacto na compreensão de programas Java com a introdução de expressões lambda |
title_full |
Análise do impacto na compreensão de programas Java com a introdução de expressões lambda |
title_fullStr |
Análise do impacto na compreensão de programas Java com a introdução de expressões lambda |
title_full_unstemmed |
Análise do impacto na compreensão de programas Java com a introdução de expressões lambda |
title_sort |
Análise do impacto na compreensão de programas Java com a introdução de expressões lambda |
author |
Mendonça, Walter Lucas Monteiro de |
author_facet |
Mendonça, Walter Lucas Monteiro de |
author_role |
author |
dc.contributor.none.fl_str_mv |
Almeida, Rodrigo Bonifácio de |
dc.contributor.author.fl_str_mv |
Mendonça, Walter Lucas Monteiro de |
dc.subject.por.fl_str_mv |
Linguagem de programação (Computadores) Java (Linguagem de programação de computador) Expressões lambda |
topic |
Linguagem de programação (Computadores) Java (Linguagem de programação de computador) Expressões lambda |
description |
Dissertação (mestrado)—Universidade de Brasília, Instituto de Ciências Exatas, Departamento de Ciência da Computação, 2019. |
publishDate |
2019 |
dc.date.none.fl_str_mv |
2019-12-27T16:25:57Z 2019-12-27T16:25:57Z 2019-12-27 2019-06-03 |
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 |
MENDONÇA, Walter Lucas Monteiro de. Análise do impacto na compreensão de programas Java com a introdução de expressões lambda. 2019. xi, 75 f., il. Dissertação (Mestrado em Informática)—Universidade de Brasília, Brasília, 2019. https://repositorio.unb.br/handle/10482/36024 |
identifier_str_mv |
MENDONÇA, Walter Lucas Monteiro de. Análise do impacto na compreensão de programas Java com a introdução de expressões lambda. 2019. xi, 75 f., il. Dissertação (Mestrado em Informática)—Universidade de Brasília, Brasília, 2019. |
url |
https://repositorio.unb.br/handle/10482/36024 |
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 |
dc.source.none.fl_str_mv |
reponame:Repositório Institucional da UnB instname:Universidade de Brasília (UnB) instacron:UNB |
instname_str |
Universidade de Brasília (UnB) |
instacron_str |
UNB |
institution |
UNB |
reponame_str |
Repositório Institucional da UnB |
collection |
Repositório Institucional da UnB |
repository.name.fl_str_mv |
Repositório Institucional da UnB - Universidade de Brasília (UnB) |
repository.mail.fl_str_mv |
repositorio@unb.br |
_version_ |
1814508192463323136 |