Automating Program Structure Classification
Not on the map. Why?
Abstract (arXiv)
When students write programs, their program structure provides insight into their learning process. However, analyzing program structure by hand is time-consuming, and teachers need better tools for computer-assisted exploration of student solutions. As a first step towards an education-oriented program analysis toolkit, we show how supervised machine learning methods can automatically classify student programs into a predetermined set of high-level structures. We evaluate two models on classifying student solutions to the Rainfall problem: a nearest-neighbors classifier using syntax tree edit distance and a recurrent neural network. We demonstrate that these models can achieve 91% classification accuracy when trained on 108 programs. We further explore the generality, trade-offs, and failure cases of each model.
Key facts. Cited by 1 paper in the map (data through 7 Oct 2026). Builds on 10 of its 37 references that are in the map. First posted on arXiv 15 Jan 2021.
Builds on
10 of 37 references.
References · 10
- 2017Attention Is All You Needcited by 59,932
- 2014Adam: A Method for Stochastic Optimizationcited by 36,960
- 2014On the Properties of Neural Machine Translation: Encoder-Decoder Approachescited by 1,303
- 2015Improved Semantic Representations From Tree-Structured Long Short-Term Memory Networkscited by 305
- 2020Unsupervised Translation of Programming Languagescited by 262
- 2019Getafix: Learning to Fix Bugs Automaticallycited by 40
- 2016Automated Clustering and Program Repair for Introductory Programming Assignmentscited by 21
- 2018Zero Shot Learning for Code Education: Rubric Sampling with Deep Learning Inferencecited by 16
- 2019Targeted Example Generation for Compilation Errorscited by 3
- 2019Generative Grading: Near Human-level Accuracy for Automated Feedback on Richly Structured Problemscited by 2
Built on by
Citing papers per year: 2023: 1.
1 paper.