skip to main content
10.1145/2259051.2259057acmconferencesArticle/Chapter ViewAbstractPublication PagespldiConference Proceedingsconference-collections
research-article

Program analysis and transformation for holistic optimization of database applications

Published: 14 June 2012 Publication History

Abstract

We describe DBridge, a novel program analysis and transformation tool to optimize database and web service access. Traditionally, rewrite of queries and programs are done independently, by the database query optimizer and the language compiler respectively, leaving out many optimization opportunities. Our tool aims to bridge this gap by performing holistic transformations, which include both program and query rewrite.
There has been earlier research in this area involving program analysis and transformation for automatically rewriting database applications to perform optimizations; for example, our earlier work has addressed batching or asynchronous submission of iterative queries, and prefetching query results. DBridge implements these techniques for Java programs and internally uses Soot, a Java optimization framework, for static analysis and transformation. DBridge can perform such optimizations on Java programs that use the JDBC API to access the database. It is currently being extended to handle the Hibernate API, and Web Services.
In this paper, we describe the program transformations that DBridge can perform. We then discuss the design and implementation of DBridge with a focus on how the Soot framework has been used to achieve these goals. Finally, we conclude by discussing some of the future directions for our tool.

References

[1]
M. Chavan, R. Guravannavar, K. Ramachandra, and S. Sudarshan. Program transformations for asynchronous query submission. In IEEE International Conference on Data Engineering, pages 375--386, 2011.
[2]
M. Chavan, R. Guravannavar, K. Ramachandra, and S. Sudarshan. Dbridge: A program rewrite tool for set-oriented query execution. In IEEE International Conference on Data Engineering, pages 1284--1287, 2011.
[3]
A. Dasgupta, V. Narasayya, and M. Syamala. A static analysis framework for database applications. In IEEE International Conference on Data Engineering, 2009.
[4]
DBridge. The DBridge Holistic Optimizer http://www.cse.iitb.ac.in/infolab/dbridge.
[5]
M. Elhemali, C. A. Galindo-Legaria, T. Grabs, and M. M. Joshi. Execution Strategies for SQL Subqueries. In ACM SIGMOD, 2007.
[6]
R. Guravannavar. Optimization and Evaluation of Nested Queries and Procedures. Ph.D. thesis, Indian Institute of Technology, Bombay, 2009.
[7]
R. Guravannavar and S. Sudarshan. Rewriting Procedures for Batched Bindings. In Intl. Conf. on Very Large Databases, 2008.
[8]
Hibernate. The Hibernate O/R mapping tool: http://hibernate.org.
[9]
JDBC. Java Database Connectivity (JDBC) API http://java.sun.com/products/jdbc/overview.html.
[10]
K. Kennedy and J. R. Allen. Optimizing compilers for modern architectures: a dependence-based approach. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA, 2002. ISBN 1-55860-286-0.
[11]
U. Khedker, A. Sanyal, and B. Karkare. Data Flow Analysis: Theory and Practice. CRC Press, Inc., 1st edition, 2009. ISBN 0849328802.
[12]
W. Kim. On Optimizing an SQL-like Nested Query. In ACM Trans. on Database Systems, Vol 7, No.3, 1982.
[13]
A. Manjhi, C. Garrod, B. M. Maggs, T. C. Mowry, and A. Tomasic. Holistic Query Transformations for Dynamic Web Applications. In IEEE International Conference on Data Engineering, 2009.
[14]
K. Ramachandra and S. Sudarshan. Holistic optimization by prefetching query results. In ACM SIGMOD, 2012 (to appear).
[15]
P. Seshadri, H. Pirahesh, and T. C. Leung. Complex Query Decorrelation. In IEEE International Conference on Data Engineering, 1996.
[16]
SOOT. A Java Optimization Framework http://www.sable.mcgill.ca/soot.
[17]
K. C. Yeung. Dynamic Performance Optimisation of Distributed Java Applications. PhD thesis, Imperial College of Science, Technology and Medicine, 2004.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
SOAP '12: Proceedings of the ACM SIGPLAN International Workshop on State of the Art in Java Program analysis
June 2012
58 pages
ISBN:9781450314909
DOI:10.1145/2259051
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 14 June 2012

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Research-article

Conference

PLDI '12
Sponsor:

Acceptance Rates

Overall Acceptance Rate 11 of 11 submissions, 100%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)1
  • Downloads (Last 6 weeks)0
Reflects downloads up to 31 Dec 2024

Other Metrics

Citations

Cited By

View all

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media