Code Completion by Modeling Flattened Abstract Syntax Trees as Graphs

53Citations
Citations of this article
59Readers
Mendeley users who have this article in their library.

Abstract

Code completion has become an essential component of integrated development environments. Contemporary code completion methods rely on the abstract syntax tree (AST) to generate syntactically correct code. However, they cannot fully capture the sequential and repetitive patterns of writing code and the structural information of the AST. To alleviate these problems, we propose a new code completion approach named CCAG, which models the flattened sequence of a partial AST as an AST graph. CCAG uses our proposed AST Graph Attention Block to capture different dependencies in the AST graph for representation learning in code completion. The sub-tasks of code completion are optimized via multi-task learning in CCAG, and the task balance is automatically achieved using uncertainty without the need to tune task weights. The experimental results show that CCAG has superior performance than state-of-the-art approaches and it is able to provide intelligent code completion.

Cite

CITATION STYLE

APA

Wang, Y., & Li, H. (2021). Code Completion by Modeling Flattened Abstract Syntax Trees as Graphs. In 35th AAAI Conference on Artificial Intelligence, AAAI 2021 (Vol. 16, pp. 14015–14023). Association for the Advancement of Artificial Intelligence. https://doi.org/10.1609/aaai.v35i16.17650

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free