mlsanityData to 7 Oct 2026

ast2vec: Utilizing Recursive Neural Encodings of Python Programs

arXiv 2103.11614 ↗First posted 22 Mar 2021cs.LG cs.CY cs.NEcited by 0

Not on the map. Why?

Abstract (arXiv)

Educational datamining involves the application of datamining techniques to student activity. However, in the context of computer programming, many datamining techniques can not be applied because they expect vector-shaped input whereas computer programs have the form of syntax trees. In this paper, we present ast2vec, a neural network that maps Python syntax trees to vectors and back, thereby facilitating datamining on computer programs as well as the interpretation of datamining results. Ast2vec has been trained on almost half a million programs of novice programmers and is designed to be applied across learning tasks without re-training, meaning that users can apply it without any need for (additional) deep learning. We demonstrate the generality of ast2vec in three settings: First, we provide example analyses using ast2vec on a classroom-sized dataset, involving visualization, student motion analysis, clustering, and outlier detection, including two novel analyses, namely a progress-variance-projection and a dynamical systems analysis. Second, we consider the ability of ast2vec to recover the original syntax tree from its vector representation on the training data and two further large-scale programming datasets. Finally, we evaluate the predictive capability of a simple linear regression on top of ast2vec, obtaining similar results to techniques that work directly on syntax trees. We hope ast2vec can augment the educational datamining toolbelt by making analyses of computer programs easier, richer, and more efficient.

Key facts. No citing papers in the map yet (data through 7 Oct 2026). Builds on 20 of its 67 references that are in the map. First posted on arXiv 22 Mar 2021.

Builds on

20 of 67 references.

References · 20

  1. 2014Adam: A Method for Stochastic Optimizationcited by 36,960
  2. 2019PyTorch: An Imperative Style, High-Performance Deep Learning Librarycited by 20,160
  3. 2016Semi-Supervised Classification with Graph Convolutional Networkscited by 11,282
  4. 2014Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translationcited by 4,016
  5. 2013Distributed Representations of Words and Phrases and their Compositionalitycited by 3,462
  6. 2015Improved Semantic Representations From Tree-Structured Long Short-Term Memory Networkscited by 305
  7. 2017Grammar Variational Autoencodercited by 283
  8. 2018code2vec: Learning Distributed Representations of Codecited by 249
  9. 2018Syntax-Directed Variational Autoencoder for Structured Datacited by 103
  10. 2018Tree-to-tree Neural Networks for Program Translationcited by 93
  11. 2017Learning Linear Dynamical Systems via Spectral Filteringcited by 46
  12. 2016Automated Clustering and Program Repair for Introductory Programming Assignmentscited by 21
8 more
  1. 2015Learning Program Embeddings to Propagate Feedback on Student Codecited by 19
  2. 2017The Continuous Hint Factory - Providing Hints in Vast and Sparsely Populated Edit Distance Spacescited by 12
  3. 2019A Survey of Automated Programming Hint Generation -- The HINTS Frameworkcited by 11
  4. 2013Time-varying Learning and Content Analytics via Sparse Factor Analysiscited by 6
  5. 2014Metric and non-metric proximity transformations at linear costscited by 5
  6. 2020Recursive Tree Grammar Autoencoderscited by 5
  7. 2016Latent Skill Embedding for Personalized Lesson Sequence Recommendationcited by 2
  8. 2017Time Series Prediction for Graphs in Kernel and Dissimilarity Spacescited by 2

Built on by

Not cited yet.