Artigo

How do developers use dynamic features? The case of ruby

Carregando...
Imagem de Miniatura

Notas

Orientadores

Editores

Coorientadores

Membros de banca

Título da Revista

ISSN da Revista

Título de Volume

Editor

Elsevier

Faculdade, Instituto ou Escola

Departamento

Programa de Pós-Graduação

Agência de fomento

Tipo de impacto

Áreas Temáticas da Extenção

Objetivos de Desenvolvimento Sustentável

Dados abertos

Resumo

Abstract

Programming languages provide features that allow developers—at run time—to evaluate strings as expressions, to define and invoke methods, etc. Nevertheless, the overuse of dynamic features may negatively impact performance, decrease the accuracy of static code analysis techniques, and hinder compiler optimizations. This paper, therefore, investigates how developers use dynamic features based on 28 open-source Ruby projects. The main findings are fourfold: (i) dynamic features correspond on average to 2.58% of the language features in a Ruby project, and almost half of them are when we disregard features that are ascribed to common programming practices; (ii) we identified that 1417 out of 2849 dynamic statements (49.7%) could be easily converted to static code; (iii) we identified, classified, and also illustrated the ten most common scenarios where developers opt for dynamic statements instead of static ones, e.g., we found that developers rely mostly on dynamic features to access private members (20.35%), which reveals flaws in the architectural design; and (iv) we identified five motivations why developers use dynamic features: unusual coding style, overpassing privacy restrictions, defining new structures, contextualizing block executions, and generalizing code tasks.

Descrição

Área de concentração

Agência de desenvolvimento

Palavra chave

Marca

Objetivo

Procedência

Submitted by Eliana Bernardes (eliana@biblioteca.ufla.br) on 2019-06-07T12:00:47Z No. of bitstreams: 0
Approved for entry into archive by Eliana Bernardes (eliana@biblioteca.ufla.br) on 2019-06-07T12:01:04Z (GMT) No. of bitstreams: 0
Made available in DSpace on 2019-06-07T12:01:04Z (GMT). No. of bitstreams: 0 Previous issue date: 2018-09

Impacto da pesquisa

Resumen

ISBN

DOI

Citação

RODRIGUES JÚNIOR, E.; TERRA, R. How do developers use dynamic features? The case of ruby. Computer Languages, Systems & Structures, [S.l.], v. 53 , p. 73-89, Sept. 2018.

Link externo

Avaliação

Revisão

Suplementado Por

Referenciado Por