TL;DR
This paper investigates the contents of neural source code embeddings, comparing their performance and information distribution to handcrafted features, revealing insights into their characteristics and resilience.
Contribution
It provides the first empirical analysis of code2vec embeddings, comparing them with handcrafted features and exploring their information distribution and robustness.
Findings
Handcrafted features perform close to code2vec embeddings in classification tasks.
Code2vec embeddings have more evenly distributed information than handcrafted features.
Embeddings are more resilient to removal of low-information dimensions.
Abstract
Source code representations are key in applying machine learning techniques for processing and analyzing programs. A popular approach in representing source code is neural source code embeddings that represents programs with high-dimensional vectors computed by training deep neural networks on a large volume of programs. Although successful, there is little known about the contents of these vectors and their characteristics. In this paper, we present our preliminary results towards better understanding the contents of code2vec neural source code embeddings. In particular, in a small case study, we use the code2vec embeddings to create binary SVM classifiers and compare their performance with the handcrafted features. Our results suggest that the handcrafted features can perform very close to the highly-dimensional code2vec embeddings, and the information gains are more evenly…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
MethodsSupport Vector Machine
