Proceedings of the XXth Conference of Open Innovations Association FRUCT (Apr 2019)

Unsupervised Classifying of Software Source Code Using Graph Neural Networks

  • Petr Vytovtov,
  • Kirill Chuvilin

Journal volume & issue
Vol. 854, no. 24
pp. 518 – 524

Abstract

Read online

Usually automated programming systems consist of two parts: source code analysis and source code generation. This paper is focused on the first part. Automated source code analysis can be useful for errors and vulnerabilities searching and for representing source code snippets for further investigating. Also gotten representations can be used for synthesizing source code snippets of certain types. A machine learning approach is used in this work. The training set is formed by augmented abstract syntax trees of Java classes. A graph autoencoder is trained and a latent representation of Java classes graphs is inspected. Experiments showed that the proposed model can split Java classes graphs to common classes with some business logic implementation and interfaces and utility classes. The results are good enough be used for more accurate software source code generation.

Keywords