I-Rex: An Interactive Relational Query Debugger for SQL

Abstract

Despite the enduring popularity of SQL (Structured Query Language), it is challenging to learn and debug, even for people with considerable programming experience. There is also a lack of SQL tools with advanced debugger features like breakpoints, stepped execution, and variable watching. We present I-Rex, an interactive SQL debugger that enables users to trace the evaluation of a query by its constituent blocks, visualizing how each block computes results from its inputs, and exploring the dependencies among these blocks. I-Rex can be integrated into an autograder, which typically works by comparing the results of submitted queries against reference queries over test database instances. Instead of showing full test instances, which often overwhelm students, I-Rex automatically generates small, illustrative instances for debugging. In this demo, we show how I-Rex helps a student trace complex SQL query execution, learn the semantics of various query constructs, and understand why a query produces (or does not produce) certain results. We also show how a teacher can customize I-Rex for a set of SQL exercises over a database. Overall, we demonstrate how I-Rex supports SQL learning and debugging, thereby increasing students’ self-reliance and reducing the burden on the teaching staff.

Publication
In Proceedings of the 53rd ACM Technical Symposium on Computer Science Education V. 2
Yihao Hu
Yihao Hu
PhD Student in Computer Science

Bazinga!