一句话:分析学生初学 SQL 的常见错误,并实现自动修复工具 SQLRepair,评估其修复可理解性并发布基准。
计算机科学教育者希望理解学生在新语言中的常见错误,以帮助其避免错误。虽然 C、Python 等语言的错误模式已有较多认识,但学生在 SQL 上仍频繁出错。本文分析学生首次编写 SQL 查询时产生的错误,对其分类并提出避免建议;同时提出自动修复工具 SQLRepair,能够修复本科生编写 SQL 查询时引入的错误。结果表明,学生认为 SQLRepair 生成的修复与本人或其他学生编写的查询在可理解性上相当,说明 SQL 修复工具在教育场景中可能有用。作者还向社区提供了本研究中学生编写的 SQL 查询基准,用于 SQLRepair 评估。
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 useful in an educational context. We also provide to the community a benchmark of SQL queries written by the students in our study that we used for evaluation of SQLRepair.
DOI 原文 ·
@inproceedings{paperbot6258,
title = {SQLRepair: Identifying and Repairing Mistakes in Student-Authored SQL Queries},
author = {Kai Presler-Marshall and Sarah Heckman and Kathryn Stolee},
booktitle = {ICSE},
year = {2021},
doi = {10.1109/icse-seet52601.2021.00030}
}