  Background: The renaming of program identifiers is the most common
refactoring operation. Because some identifiers are related to each other,
developers may need to rename related identifiers together. Aims: To understand
how developers rename multiple identifiers simultaneously, it is necessary to
consider the relationships between identifiers in the program and the brief
matching for non-identical but semantically similar identifiers. Method: We
investigate the relationships between co-renamed identifiers and identify the
types of their relationships that contribute to improving the recommendation
using more than 1M of renaming instances collected from the histories of
open-source software projects. We also evaluate and compare the impact of
co-renaming and the relationships between identifiers when inflections occur in
the words in identifiers are taken into account. Results: We revealed several
relationships of identifiers that are frequently found in the co-renamed
identifiers, such as the identifiers of methods in the same class or an
identifier defining a variable and another used for initializing the variable,
depending on the type of the renamed identifiers. Additionally, the
consideration of inflections did not affect the tendency of the relationships.
Conclusion: These results suggest an approach that prioritizes the identifiers
to be recommended depending on their types and the type of the renamed
identifier.

Software Engineering