Multi-View Graph Representation for Programming Language Processing: An Investigation into Algorithm Detection

13Citations
Citations of this article
20Readers
Mendeley users who have this article in their library.

Abstract

Program representation, which aims at converting program source code into vectors with automatically extracted features, is a fundamental problem in programming language processing (PLP). Recent work tries to represent programs with neural networks based on source code structures. However, such methods often focus on the syntax and consider only one single perspective of programs, limiting the representation power of models. This paper proposes a multi-view graph (MVG) program representation method. MVG pays more attention to code semantics and simultaneously includes both data flow and control flow as multiple views. These views are then combined and processed by a graph neural network (GNN) to obtain a comprehensive program representation that covers various aspects. We thoroughly evaluate our proposed MVG approach in the context of algorithm detection, an important and challenging subfield of PLP. Specifically, we use a public dataset POJ-104 and also construct a new challenging dataset ALG-109 to test our method. In experiments, MVG outperforms previous methods significantly, demonstrating our model's strong capability of representing source code.

Cite

CITATION STYLE

APA

Long, T., Xie, Y., Chen, X., Zhang, W., Cao, Q., & Yu, Y. (2022). Multi-View Graph Representation for Programming Language Processing: An Investigation into Algorithm Detection. In Proceedings of the 36th AAAI Conference on Artificial Intelligence, AAAI 2022 (Vol. 36, pp. 5792–5799). Association for the Advancement of Artificial Intelligence. https://doi.org/10.1609/aaai.v36i5.20522

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