Representing database programs as objects
Advances in database programming languages
The DBPL project: advances in modular database programming
Information Systems
A status report on the OO7 OODBMS benchmarking effort
OOPSLA '94 Proceedings of the ninth annual conference on Object-oriented programming systems, language, and applications
A survey of current object-oriented databases
ACM SIGMIS Database
An overview of query optimization in relational systems
PODS '98 Proceedings of the seventeenth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems
Domain specific embedded compilers
Proceedings of the 2nd conference on Domain-specific languages
A study of devirtualization techniques for a Java Just-In-Time compiler
OOPSLA '00 Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Orthogonally persistent object systems
The VLDB Journal — The International Journal on Very Large Data Bases - Persistent object systems
Context-Based Prefetch for Implementing Objects on Relations
VLDB '99 Proceedings of the 25th International Conference on Very Large Data Bases
Information Sciences: an International Journal
Kleisli, a functional query system
Journal of Functional Programming
From sequential programs to multi-tier applications by program transformation
Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Uncovering Database Access Optimizations in the Middle Tier with TORPEDO
ICDE '05 Proceedings of the 21st International Conference on Data Engineering
Safe query objects: statically typed objects as remotely executable queries
Proceedings of the 27th international conference on Software engineering
Extracting queries by static analysis of transparent persistence
Proceedings of the 34th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Circular reference attributed grammars — their evaluation and applications
Science of Computer Programming
Statistically rigorous java performance evaluation
Proceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems and applications
The JastAdd system — modular extensible compiler construction
Science of Computer Programming
Links: web programming without tiers
FMCO'06 Proceedings of the 5th international conference on Formal methods for components and objects
The essence of data access in Cω: the power is in the dot!
ECOOP'05 Proceedings of the 19th European conference on Object-Oriented Programming
Efficient object querying for java
ECOOP'06 Proceedings of the 20th European conference on Object-Oriented Programming
Automatic prefetching by traversal profiling in object persistence architectures
ECOOP'06 Proceedings of the 20th European conference on Object-Oriented Programming
Remote Batch Invocation for Compositional Object Services
Genoa Proceedings of the 23rd European Conference on ECOOP 2009 --- Object-Oriented Programming
HadoopToSQL: a mapReduce query optimizer
Proceedings of the 5th European conference on Computer systems
Information Sciences: an International Journal
Compiler plugins can handle nested languages: AST-level expansion of LINQ queries for java
ICOODB'09 Proceedings of the Second international conference on Object databases
Performance improvement of OpenJPA by query dependency analysis
DASFAA'10 Proceedings of the 15th international conference on Database Systems for Advanced Applications - Volume Part II
JReq: database queries in imperative languages
CC'10/ETAPS'10 Proceedings of the 19th joint European conference on Theory and Practice of Software, international conference on Compiler Construction
Automatic partitioning of database applications
Proceedings of the VLDB Endowment
Understanding the behavior of database operations under program control
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Optimizing database-backed applications with query synthesis
Proceedings of the 34th ACM SIGPLAN conference on Programming language design and implementation
Rhea: automatic filtering for unstructured cloud storage
nsdi'13 Proceedings of the 10th USENIX conference on Networked Systems Design and Implementation
Automated Insertion of Exception Handling for Key and Referential Constraints
Journal of Database Management
Hi-index | 0.00 |
Transparent persistence promises to integrate programming languages and databases by allowing programs to access persistent data with the same ease as non-persistent data. In this work we demonstrate the feasibility of optimizing transparently persistent programs by extracting queries to efficiently prefetch required data. A static analysis derives query structure and conditions across methods that access persistent data. Using the static analysis, our system transforms the program to execute explicit queries. The transformed program composes queries across methods to handle method calls that return persistent data. We extend an existing Java compiler to implement the static analysis and program transformation, handling recursion and parameterized queries. We evaluate the effectiveness of query extraction on the OO7 and TORPEDO benchmarks. This work is focused on programs written in the current version of Java, without languages changes. However, the techniques developed here may also be of value in conjunction with object-oriented languages extended with high-level query syntax.