DeepAI AI Chat
Log In Sign Up

Verifying Equivalence of Database-Driven Applications

by   Yuepeng Wang, et al.
The University of Texas at Austin

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.


page 1

page 2

page 3

page 4


Relational Verification via Invariant-Guided Synchronization

Relational properties describe relationships that hold over multiple exe...

Synthesizing Database Programs for Schema Refactoring

Many programs that interact with a database need to undergo schema refac...

Invariant Safety for Distributed Applications

We study a proof methodology for verifying the safety of data invariants...

Verifying Array Manipulating Programs with Full-Program Induction

We present a full-program induction technique for proving (a sub-class o...

Confluence Modulo Equivalence with Invariants in Constraint Handling Rules

Confluence denotes the property of a state transition system that states...

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

Variational quantum algorithms have been introduced as a promising class...

Detecting Incorrect Behavior of Cloud Databases as an Outsider

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