@inproceedings{f585aa27c95f44c19e42e4fb80f9c227,
title = "Understanding the behavior of database operations under program control",
abstract = "Applications that combine general program logic with persistent databases (e.g., three-tier applications) often suffer large performance penalties from poor use of the database. We introduce a program analysis technique that combines information flow in the program with commutativity analysis of its database operations to produce a unified dependency graph for database statements, which provides programmers with a high-level view of how costly database operations are and how they are connected in the program. As an example application of our analysis we describe three optimizations that can be discovered by examining the structure of the dependency graph; each helps remove communication latency from the critical path of a multi-tier system. We implement our technique in a tool for Java applications using JDBC and experimentally validate it using the multi-tier component of the Dacapo benchmark.",
keywords = "Program understanding; three-tier applications",
author = "Tamayo, {Juan M.} and Alex Aiken and Nathan Bronson and Mooly Sagiv",
year = "2012",
doi = "https://doi.org/10.1145/2384616.2384688",
language = "الإنجليزيّة",
isbn = "9781450315616",
series = "Proceedings of the Conference on Object-Oriented Programming Systems, Languages, and Applications, OOPSLA",
pages = "983--995",
booktitle = "SPLASH 2012",
note = "2012 ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2012 ; Conference date: 19-10-2012 Through 26-10-2012",
}