Work

CUBES: A Parallel Synthesizer for SQL Using Examples

Year: 2025
Type: article
Abstract: In recent years, more people have seen their work depend on data manipulation tasks. However, many of these users do not have the background in programming required to write SQL queries, particularly complex ones. One way of helping these users is automatically synthesizing the SQL query given a small set of examples. Several program synthesizers for SQL have been recently proposed, but they do not leverage multicore architectures to improve synthesis performance. This paper proposes Cubes , a parallel program synthesizer for the domain of SQL queries using input-output examples. Since input-output examples are an under-specification of the desired SQL query, sometimes, the synthesized query does not match the user’s intent. Cubes incorporates a new disambiguation procedure based on fuzzing techniques that interacts with the user and increases the confidence that the returned query matches the user intent. We perform an extensive evaluation on around 4000 SQL queries from different domains. Experimental results show that our sequential version can solve more instances than other state-of-the-art SQL synthesizers. Moreover, the parallel approach can scale up to 16 processes with super-linear speedups for many hard instances. Our disambiguation approach is critical to achieving an accuracy of around 60%, significantly larger than other SQL synthesizers.
Language: English
Open Access status: hybrid
Estimated APC paid: $2,780
OpenAlex ID: W4414575059
FWCI:
Cites: 52
Cited by: 4
Related to: