http://repositorio.unb.br/handle/10482/36024
File | Description | Size | Format | |
---|---|---|---|---|
2019_WalterLucasMonteirodeMendonça.pdf | 1,2 MB | Adobe PDF | View/Open |
Title: | Análise do impacto na compreensão de programas Java com a introdução de expressões lambda |
Authors: | Mendonça, Walter Lucas Monteiro de |
Orientador(es):: | Almeida, Rodrigo Bonifácio de |
Assunto:: | Linguagem de programação (Computadores) Java (Linguagem de programação de computador) Expressões lambda |
Issue Date: | 27-Dec-2019 |
Data de defesa:: | 3-Jun-2019 |
Citation: | 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. |
Abstract: | 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. |
Abstract: | 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. |
metadata.dc.description.unidade: | Instituto de Ciências Exatas (IE) Departamento de Ciência da Computação (IE CIC) |
Description: | Dissertação (mestrado)—Universidade de Brasília, Instituto de Ciências Exatas, Departamento de Ciência da Computação, 2019. |
metadata.dc.description.ppg: | Programa de Pós-Graduação em Informática |
Licença:: | A 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. |
Appears in Collections: | Teses, dissertações e produtos pós-doutorado |
Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.