Análise do impacto na compreensão de programas Java com a introdução de expressões lambda

Detalhes bibliográficos
Autor(a) principal: Mendonça, Walter Lucas Monteiro de
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