StatusQuo: Making Familiar Abstractions Perform Using Program Analysis
Alvin Cheung, Owen Arden, Samuel Madden, Armando Solar-Lezama, Andrew C. Myers
Proceedings of CIDR 2013,
best paper award
Modern web applications rely on databases for persistent storage,
but the strong separation between the application and the database
layer makes it difficult to satisfy end-to-end goals, such as performance, reliability, and security. In this paper,
we describe StatusQuo, a system that aims to address this problem by using program analysis and
program synthesis to enable the seamless movement of functionality between the database and application layers.
It does so by taking the functionality that was originally written
as imperative code and translating it into relational queries that
execute in the database. In addition, it makes runtime decisions
about the optimal placement of computation, in order to reduce
data movement between the database and application server. In this paper, we describe promising empirical results from the two
key technologies that make up StatusQuo, and highlight some open research problems that will need to be addressed in order to achieve
the end-to-end vision.