Um estudo empírico sobre o uso de tipagem opcional em sistemas de software

=== The recent popularization of dynamically typed languages, such as Ruby and JavaScript, has brought more attention to the discussion about the impact of typing strategies on software development. Types allow the compiler to find type errors sooner and potentially improve the readability and main...

Full description

Bibliographic Details
Main Author: Carlos Alexandre Garcia de Souza
Other Authors: Eduardo Magno Lages Figueiredo
Format: Others
Language:Portuguese
Published: Universidade Federal de Minas Gerais 2014
Online Access:http://hdl.handle.net/1843/ESBF-9Q3N3Z
id ndltd-IBICT-oai-bibliotecadigital.ufmg.br-MTD2BR-ESBF-9Q3N3Z
record_format oai_dc
spelling ndltd-IBICT-oai-bibliotecadigital.ufmg.br-MTD2BR-ESBF-9Q3N3Z2019-01-21T18:09:37Z Um estudo empírico sobre o uso de tipagem opcional em sistemas de software Carlos Alexandre Garcia de Souza Eduardo Magno Lages Figueiredo Fernando Magno Quintao Pereira Marcelo de Almeida Maia The recent popularization of dynamically typed languages, such as Ruby and JavaScript, has brought more attention to the discussion about the impact of typing strategies on software development. Types allow the compiler to find type errors sooner and potentially improve the readability and maintainability of code. On the other hand, 'untyped' code may be easier to change and require less work from programmers. This paper tries to identify the programmers' point of view about these tradeoffs. An analysis of the source code of 6638 projects written in Groovy, a programming language which features optional typing, shows in which scenarios programmers prefer to type or not to type their declarations. Our results show that types are popular in the definition of module interfaces, but are less used in scripts, test classes and frequently changed code. There is no correlation between the size and age of projects and how their constructs are typed. Finally, we also found evidence that the background of programmers influences how they use types. A recente popularização de linguagens dinamicamente tipadas, como Ruby e Javascript, tem chamado a atenção para a discussão sobre os impactos de diferentes sistemas de tipos sobre o desenvolvimento de software. Tipos permitem que o compilador encontre erros de tipo mais cedo e potencialmente melhoram a legibilidade e manutenibilidade do código. Por outro lado, código 'não tipado' pode ser mais fácil de se alterar e requer menos trabalho dos programdores. Esta dissertação tenta identificar qual é o ponto de vista dos programdores sobre esses compromissos. Uma análise do código fonte de 6638 projetos escritos em Groovy, uma linguagem de programação com tipagem opcional, mostra em que cenários programadores preferem tipar ou não suas declarações. Nossos resultados mostram que tipos são populares na definição da interface de módulos, mas são menos usados em scripts, classes de teste e código frequentemente alterado. Não há correlação entre o tamanho e a idade de projetos e como estes são tipados. Por fim, tambem foi possível encontrar evidências de que a experiência de programdores com outras linguagens de programação possui influência sobre como tipos são usados por esses programadores. 2014-04-03 info:eu-repo/semantics/publishedVersion info:eu-repo/semantics/masterThesis http://hdl.handle.net/1843/ESBF-9Q3N3Z por info:eu-repo/semantics/openAccess text/html Universidade Federal de Minas Gerais 32001010004P6 - CIÊNCIA DA COMPUTAÇÃO UFMG BR reponame:Biblioteca Digital de Teses e Dissertações da UFMG instname:Universidade Federal de Minas Gerais instacron:UFMG
collection NDLTD
language Portuguese
format Others
sources NDLTD
description === The recent popularization of dynamically typed languages, such as Ruby and JavaScript, has brought more attention to the discussion about the impact of typing strategies on software development. Types allow the compiler to find type errors sooner and potentially improve the readability and maintainability of code. On the other hand, 'untyped' code may be easier to change and require less work from programmers. This paper tries to identify the programmers' point of view about these tradeoffs. An analysis of the source code of 6638 projects written in Groovy, a programming language which features optional typing, shows in which scenarios programmers prefer to type or not to type their declarations. Our results show that types are popular in the definition of module interfaces, but are less used in scripts, test classes and frequently changed code. There is no correlation between the size and age of projects and how their constructs are typed. Finally, we also found evidence that the background of programmers influences how they use types. === A recente popularização de linguagens dinamicamente tipadas, como Ruby e Javascript, tem chamado a atenção para a discussão sobre os impactos de diferentes sistemas de tipos sobre o desenvolvimento de software. Tipos permitem que o compilador encontre erros de tipo mais cedo e potencialmente melhoram a legibilidade e manutenibilidade do código. Por outro lado, código 'não tipado' pode ser mais fácil de se alterar e requer menos trabalho dos programdores. Esta dissertação tenta identificar qual é o ponto de vista dos programdores sobre esses compromissos. Uma análise do código fonte de 6638 projetos escritos em Groovy, uma linguagem de programação com tipagem opcional, mostra em que cenários programadores preferem tipar ou não suas declarações. Nossos resultados mostram que tipos são populares na definição da interface de módulos, mas são menos usados em scripts, classes de teste e código frequentemente alterado. Não há correlação entre o tamanho e a idade de projetos e como estes são tipados. Por fim, tambem foi possível encontrar evidências de que a experiência de programdores com outras linguagens de programação possui influência sobre como tipos são usados por esses programadores.
author2 Eduardo Magno Lages Figueiredo
author_facet Eduardo Magno Lages Figueiredo
Carlos Alexandre Garcia de Souza
author Carlos Alexandre Garcia de Souza
spellingShingle Carlos Alexandre Garcia de Souza
Um estudo empírico sobre o uso de tipagem opcional em sistemas de software
author_sort Carlos Alexandre Garcia de Souza
title Um estudo empírico sobre o uso de tipagem opcional em sistemas de software
title_short Um estudo empírico sobre o uso de tipagem opcional em sistemas de software
title_full Um estudo empírico sobre o uso de tipagem opcional em sistemas de software
title_fullStr Um estudo empírico sobre o uso de tipagem opcional em sistemas de software
title_full_unstemmed Um estudo empírico sobre o uso de tipagem opcional em sistemas de software
title_sort um estudo empírico sobre o uso de tipagem opcional em sistemas de software
publisher Universidade Federal de Minas Gerais
publishDate 2014
url http://hdl.handle.net/1843/ESBF-9Q3N3Z
work_keys_str_mv AT carlosalexandregarciadesouza umestudoempiricosobreousodetipagemopcionalemsistemasdesoftware
_version_ 1718847740949037056