With the increasing popularity of deep learning, graph neural networks (GNNs) have been widely used for a variety of tasks in domains like natural language processing (NLP) and software engineering (SE). Researches in code summarization started to use GNNs to extract the code semantics gathered through the graph structures of source codes and achieved state-of-the-art results. Most of those graph structures are directly extracted from abstract syntax trees (ASTs) which are used by compilers to represent the structure of a program. Even though ASTs incorporate semantics properties of programs, we conjecture that these representations also introduce noise by including aspects like loop, conditional expressions and syntactical elements. In this thesis, we present an original approach to generate dependency graphs from source codes and use them in a GNN architecture to predict functions names. Our results show that using dependency graphs instead of ASTs to extract the semantic of a source code, can match performance of state-of-the-art on some metrics while reducing the need of computational resources.
Date of Award | 31 Aug 2021 |
---|
Original language | English |
---|
Awarding Institution | |
---|
Supervisor | Benoit Vanderose (Supervisor) |
---|
- Graph Neural Network
- GNN
- Natural Language Processing
- NLP
- Software engineering
- code summarization
- Abstract Syntax Tree
- AST
- dependency graph
Graph neural network and dependency graphs for function name prediction
Nicolas, B. (Author). 31 Aug 2021
Student thesis: Master types › Master in Computer Science Professional focus in Data Science