SQLRepair: Identifying and Repairing Mistakes in Student-Authored SQL Queries

SQLRepair: Identifying and Repairing Mistakes in Student-Authored SQL Queries
复制标题

DOI:
10.1109/icse-seet52601.2021.00030
复制
发表时间:
2021-02
期刊:
2021 IEEE/ACM 43rd International Conference on Software Engineering: Software Engineering Education and Training (ICSE-SEET)
影响因子:
--
通讯作者:
Kai Presler-Marshall;S. Heckman;Kathryn T. Stolee
Kai Presler-Marshall;S. Heckman;Kathryn T. Stolee
中科院分区:
其他
文献类型:
--
作者:
Kai Presler-Marshall;S. Heckman;Kathryn T. Stolee

文献摘要

相似文献

计算机科学教育者试图了解学生在学习新(编程)语言时犯的错误类型,以便他们可以帮助学生避免将来遇到这些错误。虽然教育工作者知道学生经常用C和Python等语言犯的错误,但学生与SQL挣扎,并在使用该语言时会经常犯错。我们对学生首次使用SQL时犯的错误进行分析,对引入的错误类型进行分类,并提供有关如何避免他们前进的建议。此外,我们提供了一个自动化工具SQLRepair,该工具能够修复本科程序员在编写SQL查询时引入的错误。我们的结果表明,学生发现我们的工具对自己或其他学生编写的查询的可理解性进行的维修,这表明SQL维修工具在教育环境中可能很有用。我们还向社区提供了学生在研究中用于评估SQLRepair的SQL查询的基准。
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.