Date of Submission

Spring 2020

Academic Program

Computer Science

Project Advisor 1

Sven Anderson

Abstract/Artist's Statement

Programmers tend to split their code into multiple files or sub-modules. When a program is executed, these sub-modules interact to produce the desired effect. One can, therefore, represent programs with graphs, where each node corresponds to some file and each edge corresponds to some relationship between files, such as two files being located in the same package or one file importing the content of another. This project trains Graph Neural Networks on such graphs to learn to predict future imports in Java programs and shows that Graph Neural Networks outperform various baseline methods by a wide margin.

Open Access Agreement

Open Access

Creative Commons License

Creative Commons License
This work is licensed under a Creative Commons Attribution-Noncommercial-No Derivative Works 4.0 License.

This work is protected by a Creative Commons license. Any use not permitted under that license is prohibited.