A Survey on Renamings of Software Entities

Guangjie Li*, Hui Liu, Ally S. Nyamawe

*Corresponding author for this work

Research output: Contribution to journalReview articlepeer-review

29 Citations (Scopus)

Abstract

More than 70% of characters in the source code are used to label identifiers. Consequently, identifiers are one of the most important source for program comprehension. Meaningful identifiers are crucial to understand and maintain programs. However, for reasons like constrained schedule, inexperience, and unplanned evolution, identifiers may fail to convey the semantics of the entities associated with them. As a result, such entities should be renamed to improve software quality. However, manual renaming and recommendation are fastidious, time consuming, and error prone, whereas automating the process of renamings is challenging: (1) It involves complex natural language processing to understand the meaning of identifers; (2) It also involves difficult semantic analysis to determine the role of software entities. Researchers proposed a number of approaches and tools to facilitate renamings. We present a survey on existing approaches and classify them into identification of renaming opportunities, execution of renamings, and detection of renamings. We find that there is an imbalance between the three type of approaches, and most of implementation of approaches and evaluation dataset are not publicly available. We also discuss the challenges and present potential research directions. To the best of our knowledge, this survey is the first comprehensive study on renamings of software entities.

Original languageEnglish
Article number3379443
JournalACM Computing Surveys
Volume53
Issue number2
DOIs
Publication statusPublished - Jun 2020

Keywords

  • Rename refactoring
  • identifier
  • software quality

Fingerprint

Dive into the research topics of 'A Survey on Renamings of Software Entities'. Together they form a unique fingerprint.

Cite this