An exploratory study of identifier renamings

  • Authors:
  • Laleh M. Eshkevari;Venera Arnaoudova;Massimiliano Di Penta;Rocco Oliveto;Yann-Gaël Guéhéneuc;Giuliano Antoniol

  • Affiliations:
  • École Polytechnique de Montréal, Montréal, Canada;École Polytechnique de Montréal, Montréal, Canada;University of Sannio, Italy, Italy;University of Molise, Italy, Italy;École Polytechnique de Montréal, Montréal, Canada;École Polytechnique de Montréal, Montréal, Canada

  • Venue:
  • Proceedings of the 8th Working Conference on Mining Software Repositories
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

Identifiers play an important role in source code understandability, maintainability, and fault-proneness. This paper reports a study of identifier renamings in software systems, studying how terms (identifier atomic components) change in source code identifiers. Specifically, the paper (i) proposes a term renaming taxonomy, (ii) presents an approximate lightweight code analysis approach to detect and classify term renamings automatically into the taxonomy dimensions, and (iii) reports an exploratory study of term renamings in two open-source systems, Eclipse-JDT and Tomcat. We thus report evidence that not only synonyms are involved in renamings but also (in a small fraction) more unexpected changes occur: surprisingly, we detected hypernym (a more abstract term, e.g., size vs. length) and hyponym (a more concrete term, e.g., restriction vs. rule) renamings, and antonym renamings (a term replaced with one having the opposite meaning, e.g., closing vs. opening). Despite being only a fraction of all renamings, synonym, hyponym, hypernym, and antonym renamings may hint at some program understanding issues and, thus, could be used in a renamingrecommendation system to improve code quality.