Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation 2019
DOI: 10.1145/3314221.3314588
|View full text |Cite
|
Sign up to set email alerts
|

Synthesizing database programs for schema refactoring

Abstract: Many programs that interact with a database need to undergo schema refactoring several times during their life cycle. Since this process typically requires making significant changes to the program's implementation, schema refactoring is often non-trivial and error-prone. Motivated by this problem, we propose a new technique for automatically synthesizing a new version of a database program given its original version and the source and target schemas. Our method does not require manual user guidance and ensure… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
18
0

Year Published

2019
2019
2023
2023

Publication Types

Select...
3
3
1

Relationship

1
6

Authors

Journals

citations
Cited by 34 publications
(18 citation statements)
references
References 61 publications
0
18
0
Order By: Relevance
“…Beyond checking feasibility, some deduction techniques used for synthesis can also provide additional information [18,32,54]. In particular, given a partial program P that is infeasible with respect to specification φ, several deduction engines can generate a set of other infeasible partial programs P 1 , .…”
Section: Definition 2 (Feasible Partial Program)mentioning
confidence: 99%
See 1 more Smart Citation
“…Beyond checking feasibility, some deduction techniques used for synthesis can also provide additional information [18,32,54]. In particular, given a partial program P that is infeasible with respect to specification φ, several deduction engines can generate a set of other infeasible partial programs P 1 , .…”
Section: Definition 2 (Feasible Partial Program)mentioning
confidence: 99%
“…However, in the context of program synthesis, deductive reasoning can also provide feedback about states that have not been explored. For example, given a partial program that is infeasible, one can analyze the root cause of failure to infer other infeasible programs [18,54]. To deal with this difficulty, we propose an off-policy reinforcement learning algorithm that can improve the policy based on such additional feedback from the deduction engine.…”
Section: Introductionmentioning
confidence: 99%
“…Given this DSL, we have developed a regex synthesizer that performs top-down enumerative search over the space of possible regexes defined by the DSL. This is a standard approach adopted by many existing synthesis techniques [16,15,63,62]. Our regex synthesizer takes both positive and negative examples: a positive example is a string that should be accepted by the desired regex whereas a negative example is a string that should be rejected by the regex.…”
Section: The Synthesis Algorithmmentioning
confidence: 99%
“…Program synthesis has been increasingly applied to many application domains, e.g., software development tools [15,50,62,29], human-robot interaction [47,35], and end-user programming [32,22,36,6,38]. Many program synthesis techniques adopt a programming-by-example (PBE) paradigm, where users provide a set of input-output examples to describe the intended program behavior.…”
Section: Introductionmentioning
confidence: 99%
“…Wang et al propose a technique [Wang et al 2019] for synthesizing equivalent database queries for an application that has undergone schema migration. They establish equivalence predicates across two versions of the schema by equating the columns and then employ sketch based synthesis for generating equivalent queries.…”
Section: Related Workmentioning
confidence: 99%