共 50 条
Universal Representation for Code
被引:3
|作者:
Liu, Linfeng
[1
]
Nguyen, Hoan
[2
]
Karypis, George
[2
]
Sengamedu, Srinivasan
[2
]
机构:
[1] Tufts Univ, Medford, MA 02155 USA
[2] Amazon Web Serv, Seattle, WA 98109 USA
来源:
关键词:
Code representation;
Graph neural network;
Pre-training;
D O I:
10.1007/978-3-030-75768-7_2
中图分类号:
TP18 [人工智能理论];
学科分类号:
081104 ;
0812 ;
0835 ;
1405 ;
摘要:
Learning from source code usually requires a large amount of labeled data. Despite the possible scarcity of labeled data, the trained model is highly task-specific and lacks transferability to different tasks. In this work, we present effective pre-training strategies on top of a novel graph-based code representation, to produce universal representations for code. Specifically, our graph-based representation captures important semantics between code elements (e.g., control flow and data flow). We pre-train graph neural networks on the representation to extract universal code properties. The pre-trained model then enables the possibility of fine-tuning to support various downstream applications. We evaluate our model on two real-world datasets - spanning over 30M Java methods and 770K Python methods. Through visualization, we reveal discriminative properties in our universal code representation. By comparing multiple benchmarks, we demonstrate that the proposed framework achieves state-of-the-art results on method name prediction and code graph link prediction.
引用
收藏
页码:16 / 28
页数:13
相关论文