2018
DOI: 10.1145/3276527
|View full text |Cite
|
Sign up to set email alerts
|

Speeding up symbolic reasoning for relational queries

Abstract: The ability to reason about relational queries plays an important role across many types of database applications, such as test data generation, query equivalence checking, and computer-assisted query authoring. Unfortunately, symbolic reasoning about relational queries can be challenging because relational tables are multisets (bags) of tuples, and the underlying languages, such as SQL, can introduce complex computation among tuples. We propose a space refinement algorithm that soundly reduces the space of ta… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
14
0

Year Published

2019
2019
2024
2024

Publication Types

Select...
3
3

Relationship

1
5

Authors

Journals

citations
Cited by 10 publications
(14 citation statements)
references
References 35 publications
0
14
0
Order By: Relevance
“…Since our goal is to synthesize a new version of the program that is equivalent to a previous version, this paper is particularly related to verification techniques for checking Synthesizing Database Programs for Schema Refactoring PL, 2019, USA equivalence [11-13, 52, 54]. Most of these papers focus on equivalence between individual SQL queries [11][12][13]52]. The only work that addresses the problem of verifying equivalence between entire database programs is Mediator, which automatically infers a bisimulation invariant between the two programs [54].…”
Section: Related Workmentioning
confidence: 99%
“…Since our goal is to synthesize a new version of the program that is equivalent to a previous version, this paper is particularly related to verification techniques for checking Synthesizing Database Programs for Schema Refactoring PL, 2019, USA equivalence [11-13, 52, 54]. Most of these papers focus on equivalence between individual SQL queries [11][12][13]52]. The only work that addresses the problem of verifying equivalence between entire database programs is Mediator, which automatically infers a bisimulation invariant between the two programs [54].…”
Section: Related Workmentioning
confidence: 99%
“…Like many database test data generation approaches [23,41,68,70,71,74], Solve uses a row-based approach to translate path constraints into SMT formulas. For each query Q i in W that is required to retrieve at least one or at least two rows, Solve generates variables that model the required number of rows of the relevant tables.…”
Section: Path Constraint Solvermentioning
confidence: 99%
“…Similar to these efforts, we also use program analysis to prove infeasibility of partial programs but with two key differences: First, our analysis is tailored to table transformation programs and infers inclusion constraints between tables. Second, since neither forward nor backward reasoning is sufficient to meaningfully prune the search space on their own, we use bi-directional analysis to improve pruning power without having to resort to heavy-weight semantics motivated by prior work in program analysis [Chandra et al 2009;Dhurjati et al 2006;Reps et al 1995] and verification [Wang et al 2018a]. In this respect, our synthesis method is similar to Synqid [Polikarpova et al 2016] which uses a form of bidirectional refinement type checking to prune its search space.…”
Section: Related Workmentioning
confidence: 99%
“…For example, in the reasoning rule for summarize in Figure 12, we over-approximate all aggregation functions as uninterpreted functions; thus the inferred pre-condition only requires that input table t include content from non-aggregated columns (T ′ ) in the output table t ′ . While a more precise analysis rule could consider the underlying semantics of different aggregation operators, this kind of reasoning would be prohibitively expensive [Wang et al 2018a] and outweigh the benefits obtained from better pruning.…”
Section: :16mentioning
confidence: 99%