Proceedings Article10.1145/3035918.3058747
DBridge: Translating Imperative Code to SQL
K. Venkatesh Emani,Tejas Deshpande,Karthik Ramachandra,Sundararajarao Sudarshan +3 more
- 09 May 2017
- pp 1663-1666
21
TL;DR: This work incorporated a new suite of optimization techniques into DBridge by identifying relational operations expressed in imperative code, and translating them into SQL, and shows the performance gains achieved by employing the system on real world applications that use JDBC or Hibernate.
read more
Abstract: Application programs that access data located remotely (such as in a database) often perform poorly due to multiple network round trips and transfer of unused data. This situation is exacerbated in applications that use object-relational mapping (ORM) frameworks such as Hibernate, as developers tend to express complex query logic using imperative code, resulting in poor performance. DBridge is a system for optimizing data access in database applications by using static program analysis and program transformations. Recently, we incorporated a new suite of optimization techniques into DBridge. These techniques optimize database application programs by identifying relational operations expressed in imperative code, and translating them into SQL. In this demonstration, we showcase these techniques using a plugin for the IntelliJ IDEA Java IDE as the front end. We show the performance gains achieved by employing our system on real world applications that use JDBC or Hibernate.
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Citations
Froid: optimization of imperative programs in a relational database
Karthik Ramachandra,Kwanghyun Park,K. Venkatesh Emani,Alan Halverson,Cesar A. Galindo-Legaria,Conor Cunningham +5 more
- 01 Dec 2017
TL;DR: Froid as mentioned in this paper is an extensible framework for optimizing imperative programs in relational databases, which automatically transforms entire UDFs into relational algebraic expressions, and embeds them into the calling SQL query.
Fine-grained lineage for safer notebook interactions
Stephen Macke,Hongpu Gong,Doris Jung Lin Lee,Andrew Head,Doris Xin,Aditya Parameswaran +5 more
- 01 Feb 2021
TL;DR: Computational notebooks have emerged as the platform of choice for data science and analytical workflows, enabling rapid iteration and exploration as discussed by the authors, by keeping intermediate program state in memory and keeping the program state of a program in memory.
Procedural extensions of SQL: understanding their usage in the wild
Surabhi Gupta,Karthik Ramachandra +1 more
- 01 Apr 2021
TL;DR: Procedural extensions of SQL have been in existence for many decades now as discussed by the authors, however, little is known about their magnitude of usage and their complexity in real-world workloads. Procedural code execu...
SAND: a static analysis approach for detecting SQL antipatterns
Yingjun Lyu,Sasha Volokh,William G. J. Halfond,Omer Tripp +3 more
- 11 Jul 2021
TL;DR: SAND as mentioned in this paper is an extensible static analysis approach that checks for misuse of local databases, also known as SQL antipatterns, in mobile apps, which can lead to high resource consumption or even security vulnerabilities.
12
References
Extracting Equivalent SQL from Imperative Code in Database Applications
K. Venkatesh Emani,Karthik Ramachandra,Subhro Bhattacharya,Sundararajarao Sudarshan +3 more
- 26 Jun 2016
TL;DR: This paper presents an approach to extracting a concise algebraic representation of (parts of) an application, which may include imperative code as well as SQL queries, which can be translated into SQL to improve application performance.
45
Optimizing database-backed applications with query synthesis
Alvin Cheung,Armando Solar-Lezama,Samuel Madden +2 more
- 16 Jun 2013
TL;DR: This paper presents QBS, a system that automatically transforms fragments of application logic into SQL queries, and demonstrates that this approach can convert a variety of imperative constructs into relational specifications and significantly improve application performance asymptotically by orders of magnitude.
DBridge: A program rewrite tool for set-oriented query execution
Mahendra Chavan,Ravindra Guravannavar,Karthik Ramachandra,Sundararajarao Sudarshan +3 more
- 11 Apr 2011
TL;DR: DBridge is presented, a novel static analysis and program transformation tool to optimize database access by performing holistic transformations, which include both program and query rewrite.
Program Transformations for Asynchronous and Batched Query Submission
TL;DR: This paper addresses the issue of automatically transforming a program written assuming synchronous query submission, to one that exploits asynchronous query submission and presents a novel approach that, at runtime, can combine multiple asynchronous requests into batches, thereby achieving the benefits of batching in addition to that of asynchronous submission.