Polygon: Symbolic Reasoning for SQL using Conflict-Driven Under-Approximation Search
Abstract
We present a novel symbolic reasoning engine for SQL which can efficiently generate an input for queries , such that their outputs on satisfy a given property (expressed in SMT). This is useful in different contexts, such as disproving equivalence of two SQL queries and disambiguating a set of queries. Our first idea is to reason about an under-approximation of each -- that is, a subset of 's input-output behaviors. While it makes our approach both semantics-aware and lightweight, this idea alone is incomplete (as a fixed under-approximation might miss some behaviors of interest). Therefore, our second idea is to perform search over an expressive family of under-approximations (which collectively cover all program behaviors of interest), thereby making our approach complete. We have implemented these ideas in a tool, Polygon, and evaluated it on over 30,000 benchmarks across two tasks (namely, SQL equivalence refutation and query disambiguation). Our evaluation results show that Polygon significantly outperforms all prior techniques.
Cite
@article{arxiv.2504.06542,
title = {Polygon: Symbolic Reasoning for SQL using Conflict-Driven Under-Approximation Search},
author = {Pinhan Zhao and Yuepeng Wang and Xinyu Wang},
journal= {arXiv preprint arXiv:2504.06542},
year = {2025}
}
Comments
PLDI 2025