Synthesizing Database Programs for Schema Refactoring

04/11/2019
by   Yuepeng Wang, et al.
0

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 ensures that the synthesized program is equivalent to the original one. Furthermore, our method is quite efficient and can synthesize new versions of database programs (containing up to 263 functions) that are extracted from real-world web applications with an average synthesis time of 69.4 seconds.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
08/24/2017

Transforming Coroutining Logic Programs into Equivalent CHR Programs

We extend a technique called Compiling Control. The technique transforms...
research
12/31/2020

Automatic Synthesis of Parallel and Distributed Unix Commands with KumQuat

We present KumQuat, a system for automatically synthesizing parallel and...
research
02/13/2023

Right-Adjoints for Datalog Programs, and Homomorphism Dualities over Restricted Classes

A Datalog program can be viewed as a syntactic specification of a functo...
research
01/15/2018

Cobra: A Framework for Cost Based Rewriting of Database Applications

Database applications are typically written using a mixture of imperativ...
research
10/20/2017

Verifying Equivalence of Database-Driven Applications

This paper addresses the problem of verifying equivalence between a pair...
research
06/08/2021

Dynamic Software Updates for Unmodified Browsers through Multi-Version Execution

In this paper, we present the design, implementation, and evaluation of ...
research
02/19/2021

Controller Synthesis for Golog Programs over Finite Domains with Metric Temporal Constraints

Executing a Golog program on an actual robot typically requires addition...

Please sign up or login with your details

Forgot password? Click here to reset