Yizhou Sun (yzsun@cs.ucla.edu)
Graph neural networks (GNNs) have received more and more attention in past several years, due to the wide applications of graphs and networks in different domains, and the superiority of their performance compared to traditional heuristics-driven approaches. In this tutorial, we will provide a gentle introduction of GNNs and its potential applications to the field of programming language. Specifically, this tutorial will cover the following parts. First, the basic principles and general architecture of GNNs will be introduced, followed by several GNN instances, including the most well-known Graph Convolutional Network. Second, different graph-related downstream tasks will be introduced, which will be partitioned into node-level and graph-level tasks, with the goal to connect these tasks with potential PL applications. Third, several recently developed GNN algorithms that are designed for programming language applications will be introduced. In the end, we will provide some discussions on the open questions in this direction.