Automating Program Structure Classification
- URL: http://arxiv.org/abs/2101.10087v1
- Date: Fri, 15 Jan 2021 21:24:37 GMT
- Title: Automating Program Structure Classification
- Authors: Will Crichton, Georgia Gabriela Sampaio, Pat Hanrahan
- Abstract summary: We show how supervised machine learning methods can automatically classify student programs into a predetermined set of high-level structures.
We demonstrate that these models can achieve 91% classification accuracy when trained on 108 programs.
- Score: 6.215059642140581
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: 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.
Related papers
- Automated Identification of Logical Errors in Programs: Advancing Scalable Analysis of Student Misconceptions [4.0782995609938]
This paper presents a scalable framework for automatically detecting logical errors in students' programming solutions.<n>Our framework is based on an explainable Abstract Syntax Tree (AST) embedding model, the Subtree-based Attention Neural Network (SANN)
arXiv Detail & Related papers (2025-05-16T06:32:51Z) - Formal Verification of Markov Processes with Learned Parameters [2.5694725194040804]
We show that for a broad class of machine learning models, verifying properties of Markov chains can be formulated as a bilinear program.
We show through computational experiments that our method solves the problem to global optimality up to 100x faster than state-of-the-art solvers.
arXiv Detail & Related papers (2025-01-27T04:34:22Z) - Multi-Task Program Error Repair and Explanatory Diagnosis [28.711745671275477]
We present a novel machine-learning approach for Multi-task Program Error Repair and Explanatory Diagnosis (mPRED)
A pre-trained language model is used to encode the source code, and a downstream model is specifically designed to identify and repair errors.
To aid in visualizing and analyzing the program structure, we use a graph neural network for program structure visualization.
arXiv Detail & Related papers (2024-10-09T05:09:24Z) - Learning from Self-Sampled Correct and Partially-Correct Programs [96.66452896657991]
We propose to let the model perform sampling during training and learn from both self-sampled fully-correct programs and partially-correct programs.
We show that our use of self-sampled correct and partially-correct programs can benefit learning and help guide the sampling process.
Our proposed method improves the pass@k performance by 3.1% to 12.3% compared to learning from a single reference program with MLE.
arXiv Detail & Related papers (2022-05-28T03:31:07Z) - Structural Analysis of Branch-and-Cut and the Learnability of Gomory
Mixed Integer Cuts [88.94020638263467]
The incorporation of cutting planes within the branch-and-bound algorithm, known as branch-and-cut, forms the backbone of modern integer programming solvers.
We conduct a novel structural analysis of branch-and-cut that pins down how every step of the algorithm is affected by changes in the parameters defining the cutting planes added to the input integer program.
Our main application of this analysis is to derive sample complexity guarantees for using machine learning to determine which cutting planes to apply during branch-and-cut.
arXiv Detail & Related papers (2022-04-15T03:32:40Z) - Goal Agnostic Planning using Maximum Likelihood Paths in Hypergraph
World Models [1.370633147306388]
We present a hypergraph-based machine learning algorithm, a datastructure--driven maintenance method, and a planning algorithm based on a probabilistic application of Dijkstra's algorithm.
We prove that the algorithm determines optimal solutions within the problem space, mathematically bound learning performance, and supply a mathematical model analyzing system state progression through time.
arXiv Detail & Related papers (2021-10-18T16:22:33Z) - Learning compositional programs with arguments and sampling [12.790055619773565]
We train a machine learning model to discover a program that satisfies specific requirements.
We extend upon a state of the art model, AlphaNPI, by learning to generate functions that can accept arguments.
arXiv Detail & Related papers (2021-09-01T21:27:41Z) - ProtoTransformer: A Meta-Learning Approach to Providing Student Feedback [54.142719510638614]
In this paper, we frame the problem of providing feedback as few-shot classification.
A meta-learner adapts to give feedback to student code on a new programming question from just a few examples by instructors.
Our approach was successfully deployed to deliver feedback to 16,000 student exam-solutions in a programming course offered by a tier 1 university.
arXiv Detail & Related papers (2021-07-23T22:41:28Z) - Early Performance Prediction using Interpretable Patterns in Programming
Process Data [13.413990352918098]
We leverage rich, fine-grained log data to build a model to predict student course outcomes.
We evaluate our approach on a dataset from 106 students in a block-based, introductory programming course.
arXiv Detail & Related papers (2021-02-10T22:46:45Z) - BUSTLE: Bottom-Up Program Synthesis Through Learning-Guided Exploration [72.88493072196094]
We present a new synthesis approach that leverages learning to guide a bottom-up search over programs.
In particular, we train a model to prioritize compositions of intermediate values during search conditioned on a set of input-output examples.
We show that the combination of learning and bottom-up search is remarkably effective, even with simple supervised learning approaches.
arXiv Detail & Related papers (2020-07-28T17:46:18Z) - Learning Differentiable Programs with Admissible Neural Heuristics [43.54820901841979]
We study the problem of learning differentiable functions expressed as programs in a domain-specific language.
We frame this optimization problem as a search in a weighted graph whose paths encode top-down derivations of program syntax.
Our key innovation is to view various classes of neural networks as continuous relaxations over the space of programs.
arXiv Detail & Related papers (2020-07-23T16:07:39Z) - Strong Generalization and Efficiency in Neural Programs [69.18742158883869]
We study the problem of learning efficient algorithms that strongly generalize in the framework of neural program induction.
By carefully designing the input / output interfaces of the neural model and through imitation, we are able to learn models that produce correct results for arbitrary input sizes.
arXiv Detail & Related papers (2020-07-07T17:03:02Z) - Automatic Gesture Recognition in Robot-assisted Surgery with
Reinforcement Learning and Tree Search [63.07088785532908]
We propose a framework based on reinforcement learning and tree search for joint surgical gesture segmentation and classification.
Our framework consistently outperforms the existing methods on the suturing task of JIGSAWS dataset in terms of accuracy, edit score and F1 score.
arXiv Detail & Related papers (2020-02-20T13:12:38Z)
This list is automatically generated from the titles and abstracts of the papers in this site.
This site does not guarantee the quality of this site (including all information) and is not responsible for any consequences.