SQLRepair: Identifying and Repairing Mistakes in Student-Authored SQL Queries
Kai Presler-Marshall, Sarah Heckman, Kathryn T. Stolee

TL;DR
This paper analyzes common mistakes made by students in SQL, classifies these errors, and introduces SQLRepair, an automated tool that repairs student SQL queries, showing its effectiveness and potential educational benefits.
Contribution
It provides a detailed classification of student SQL errors and introduces SQLRepair, a novel automated repair tool with demonstrated effectiveness in educational settings.
Findings
Students find repairs comparable in understandability to their own queries.
SQLRepair effectively repairs common student errors.
A new benchmark of student-written SQL queries is provided.
Abstract
Computer science educators seek to understand the types of mistakes that students make when learning a new (programming) language so that they can help students avoid those mistakes in the future. While educators know what mistakes students regularly make in languages such as C and Python, students struggle with SQL and regularly make mistakes when working with it. We present an analysis of mistakes that students made when first working with SQL, classify the types of errors introduced, and provide suggestions on how to avoid them going forward. In addition, we present an automated tool, SQLRepair, that is capable of repairing errors introduced by undergraduate programmers when writing SQL queries. Our results show that students find repairs produced by our tool comparable in understandability to queries written by themselves or by other students, suggesting that SQL repair tools may be…
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.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Research · Software Testing and Debugging Techniques · Scientific Computing and Data Management
