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

Carregando...
Imagem de Miniatura

Título da Revista

ISSN da Revista

Título de Volume

Editor

Universidade Federal de Minas Gerais

Descrição

Tipo

Dissertação de mestrado

Título alternativo

Membros da banca

Fernando Magno Quintao Pereira
Marcelo de Almeida Maia

Resumo

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.

Abstract

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.

Assunto

Computação, Linguagem de programação

Palavras-chave

Tipagem opcional, Sistemas de tipos, Análise de repositório, Groovy

Citação

Departamento

Curso

Endereço externo

Avaliação

Revisão

Suplementado Por

Referenciado Por