Verifying Equivalence of Database-Driven Applications

10/20/2017
by   Yuepeng Wang, et al.
0

This paper addresses the problem of verifying equivalence between a pair of programs that operate over databases with different schemas. This problem is particularly important in the context of web applications, which typically undergo database refactoring either for performance or maintainability reasons. While web applications should have the same externally observable behavior before and after schema migration, there are no existing tools for proving equivalence of such programs. This paper takes a first step towards solving this problem by formalizing the equivalence and refinement checking problems for database-driven applications. We also propose a proof methodology based on the notion of bisimulation invariants over relational algebra with updates and describe a technique for synthesizing such bisimulation invariants. We have implemented the proposed technique in a tool called Mediator for verifying equivalence between database-driven applications written in our intermediate language and evaluate our tool on 21 benchmarks extracted from textbooks and real-world web applications. Our results show that the proposed methodology can successfully verify 20 of these benchmarks.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
07/09/2019

Relational Verification via Invariant-Guided Synchronization

Relational properties describe relationships that hold over multiple exe...
research
04/11/2019

Synthesizing Database Programs for Schema Refactoring

Many programs that interact with a database need to undergo schema refac...
research
03/07/2019

Invariant Safety for Distributed Applications

We study a proof methodology for verifying the safety of data invariants...
research
02/23/2020

Verifying Array Manipulating Programs with Full-Program Induction

We present a full-program induction technique for proving (a sub-class o...
research
02/09/2018

Confluence Modulo Equivalence with Invariants in Constraint Handling Rules

Confluence denotes the property of a state transition system that states...
research
10/21/2022

Equivalence Checking of Parameterized Quantum Circuits: Verifying the Compilation of Variational Quantum Algorithms

Variational quantum algorithms have been introduced as a promising class...
research
12/19/2019

Detecting Incorrect Behavior of Cloud Databases as an Outsider

Cloud DBs offer strong properties, including serializability, sometimes ...

Please sign up or login with your details

Forgot password? Click here to reset