Artigo
How do developers use dynamic features? The case of ruby
Carregando...
Notas
Data
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
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
Palavras-chave
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.
