Identifying Utility Functions in Java and JavaScript

  • Tamara Mendes UFMG
  • Marco Tulio Valente UFMG
  • Andre Hora UFMG

Resumo


Utility functions provide generic services that can be reused in different types of systems. Theoretically, they must be implemented in specific modules. However, it is common to find such functions implemented with domain specific functions, decreasing their chances of reuse. In this paper, we propose a set of heuristics to identify utility functions. With such heuristics, recommendations can be provided to move the functions to appropriate modules. In a survey conducted with 33 developers, the proposed heuristics showed a precision of 66% and 67% when applied to Java and JavaScript systems, respectively.

Palavras-chave: Java, Software, Computer architecture, Electronic mail, Indexes, Noise measurement, Lenses, Utility functions, Refactoring, Software Architecture, Modularization, Machine Learning
Publicado
19/09/2016
MENDES, Tamara; VALENTE, Marco Tulio; HORA, Andre. Identifying Utility Functions in Java and JavaScript. In: SIMPÓSIO BRASILEIRO DE COMPONENTES, ARQUITETURAS E REUTILIZAÇÃO DE SOFTWARE (SBCARS), 10. , 2016, Maringá/PR. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2016 . p. 121-130.