  In programming, the names for the program entities, especially for the
methods, are the intuitive characteristic for understanding the functionality
of the code. To ensure the readability and maintainability of the programs,
method names should be named properly. Specifically, the names should be
meaningful and consistent with other names used in related contexts in their
codebase. In recent years, many automated approaches are proposed to suggest
consistent names for methods, among which neural machine translation (NMT)
based models are widely used and have achieved state-of-the-art results.
However, these NMT-based models mainly focus on extracting the code-specific
features from the method body or the surrounding methods, the project-specific
context and documentation of the target method are ignored. We conduct a
statistical analysis to explore the relationship between the method names and
their contexts. Based on the statistical results, we propose GTNM, a Global
Transformer-based Neural Model for method name suggestion, which considers the
local context, the project-specific context, and the documentation of the
method simultaneously. Experimental results on java methods show that our model
can outperform the state-of-the-art results by a large margin on method name
suggestion, demonstrating the effectiveness of our proposed model.
