Abstract | ||
---|---|---|
We present a system called RATest, designed to help debug relational queries against reference queries and test database instances. In many applications, e.g., classroom learning and regression testing, we test the correctness of a user query Q by evaluating it over a test database instance D and comparing its result with that of evaluating a reference (correct) query $Q_0$ over D. If $Q(D)$ differs from $Q_0(D)$, the user knows Q is incorrect. However, D can be large (often by design), which makes debugging Q difficult. The key idea behind RATest is to show the user a much smaller database instance $D' \subseteq D$, which we call a counterexample, such that $Q(D') \neq Q_0(D')$. RATest builds on data provenance and constraint solving, and employs a suite of techniques to support, at interactive speed, complex queries involving differences and group-by aggregation. We demonstrate an application of RATest in learning: it has been used successfully by a large undergraduate database course in a university to help students with a relational algebra assignment.
|
Year | DOI | Venue |
---|---|---|
2019 | 10.1145/3299869.3320236 | Proceedings of the 2019 International Conference on Management of Data |
Keywords | Field | DocType |
data provenance, explanations, relational query grading | Data mining,Information retrieval,Computer science | Conference |
Volume | ISSN | ISBN |
2019 | 0730-8078 | 978-1-4503-5643-5 |
Citations | PageRank | References |
0 | 0.34 | 0 |
Authors | ||
3 |
Name | Order | Citations | PageRank |
---|---|---|---|
Zhengjie Miao | 1 | 11 | 6.61 |
Sudeepa Roy | 2 | 268 | 30.95 |
Jun Yang | 3 | 2762 | 241.66 |