Loading [MathJax]/extensions/MathMenu.js
Abstract Syntax Tree for Method Name Prediction: How Far Are We? | IEEE Conference Publication | IEEE Xplore

Abstract Syntax Tree for Method Name Prediction: How Far Are We?


Abstract:

Method name prediction (MNP) aims to recommend a proper name for a method given by the developer, which can ease the programming task and improve programmer productivity....Show More

Abstract:

Method name prediction (MNP) aims to recommend a proper name for a method given by the developer, which can ease the programming task and improve programmer productivity. Due to the excellent expressiveness of code representation, abstract syntax trees (AST) have been widely exploited by MNP techniques. However, it is a complex process to manipulate AST, including AST parsing, AST preprocessing, and AST encoding, of which a change in the scheme may change the AST embeddings and thus affects the performance of MNP. In this paper, we first conduct a comprehensive empirical study to systematically investigate the impact of the sub-processes of AST usage on MNP performance. The empirical findings of this study unmistakably demonstrate that AST has a positive impact on promoting MNP. Moreover, the selection of schemes for AST parsing, preprocessing, and encoding exerts a profound influence on the effectiveness of MNP. Properly combining AST (e.g., using JDT, AST Pathfull, and code2seq as AST parsing, preprocessing, and encoding methods, respectively) can improve MNP performance by 164% in terms of F1-score compared to using only code tokens.
Date of Conference: 22-26 October 2023
Date Added to IEEE Xplore: 25 December 2023
ISBN Information:

ISSN Information:

Conference Location: Chiang Mai, Thailand

1. Introduction

High-quality method names significantly enhance the readability and maintainability of code [1]. However, crafting concise method names can be challenging, particularly for inexperienced developers [2]. Method name prediction (MNP) is a promising technique to address this issue, as it can generate names for method codes provided by developers. Previous research [1] has demonstrated that MNP can streamline the programming process and boost programmer productivity.

Contact IEEE to Subscribe

References

References is not available for this document.