SEAISep 29, 2022

Repairing Bugs in Python Assignments Using Large Language Models

arXiv:2209.14876v165 citationsh-index: 65
Originality Incremental advance
AI Analysis

This addresses the time-consuming task for instructors in providing custom feedback on student programming errors, though it is incremental as it builds on existing automated program repair techniques.

The paper tackles the problem of automatically repairing bugs in student Python assignments by proposing MMAPR, a system using large language models like Codex, which fixed more programs and produced smaller patches compared to baseline methods on 286 real student programs.

Students often make mistakes on their introductory programming assignments as part of their learning process. Unfortunately, providing custom repairs for these mistakes can require a substantial amount of time and effort from class instructors. Automated program repair (APR) techniques can be used to synthesize such fixes. Prior work has explored the use of symbolic and neural techniques for APR in the education domain. Both types of approaches require either substantial engineering efforts or large amounts of data and training. We propose to use a large language model trained on code, such as Codex, to build an APR system -- MMAPR -- for introductory Python programming assignments. Our system can fix both syntactic and semantic mistakes by combining multi-modal prompts, iterative querying, test-case-based selection of few-shots, and program chunking. We evaluate MMAPR on 286 real student programs and compare to a baseline built by combining a state-of-the-art Python syntax repair engine, BIFI, and state-of-the-art Python semantic repair engine for student assignments, Refactory. We find that MMAPR can fix more programs and produce smaller patches on average.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes