Learning to Recommend Method Names with Global Context

01/26/2022
by   Fang Liu, et al.
0

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.

READ FULL TEXT
research
05/12/2023

Improving the Quality of Neural Machine Translation Through Proper Translation of Name Entities

In this paper, we have shown a method of improving the quality of neural...
research
02/27/2021

A Context-based Automated Approach for Method Name Consistency Checking and Suggestion

Misleading method names in software projects can confuse developers, whi...
research
04/16/2021

Investigating Failures of Automatic Translation in the Case of Unambiguous Gender

Transformer based models are the modern work horses for neural machine t...
research
06/04/2019

Exploiting Sentential Context for Neural Machine Translation

In this work, we present novel approaches to exploit sentential context ...
research
08/10/2017

Location Name Extraction from Targeted Text Streams using Gazetteer-based Statistical Language Models

Extracting location names from informal and unstructured texts requires ...
research
04/08/2021

A Sketch-Based Neural Model for Generating Commit Messages from Diffs

Commit messages have an important impact in software development, especi...
research
06/21/2018

An empirical study on the names of points of interest and their changes with geographic distance

While Points Of Interest (POIs), such as restaurants, hotels, and barber...

Please sign up or login with your details

Forgot password? Click here to reset