Renaming identifiers in source code is a common refactoring task in software development. When renaming an identifier, other identifiers containing words with the same naming intention related to the renaming should be renamed simultaneously. However, identifying these related identifiers can be challenging. This study introduces a technique called RENAS, which identifies and recommends related identifiers that should be renamed simultaneously in Java applications. RENAS determines priority scores for renaming candidates based on the relationships and similarities among identifiers. Since identifiers that have a relationship and/or have similar vocabulary in the source code are often renamed together, their priority scores are determined based on these factors. Identifiers with higher priority are recommended to be renamed together. Through an evaluation involving real renaming instances extracted from change histories and validated manually, RENAS demonstrated an improvement in the F1-measure by more than 0.11 compared with existing renaming recommendation approaches.
Adam Štěpánek Faculty of Informatics, Masaryk University, David Kuťák Faculty of Informatics, Masaryk University, Barbora Kozlíková Faculty of Informatics, Masaryk University, Jan Byška Faculty of Informatics, Masaryk University; Department of Informatics, University of Bergen
Linas Vidziunas Simula Research Laboratory, David Binkley Loyola University Maryland, Leon Moonen Simula Research Laboratory and BI Norwegian Business School