Development of an object-oriented DBMS
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
Representing database programs as objects
Advances in database programming languages
Constant propagation with conditional branches
ACM Transactions on Programming Languages and Systems (TOPLAS)
Conceptual database design: an Entity-relationship approach
Conceptual database design: an Entity-relationship approach
Communications of the ACM
Context-sensitive interprocedural points-to analysis in the presence of function pointers
PLDI '94 Proceedings of the ACM SIGPLAN 1994 conference on Programming language design and implementation
The DBPL project: advances in modular database programming
Information Systems
Safe and efficient sharing of persistent objects in Thor
SIGMOD '96 Proceedings of the 1996 ACM SIGMOD international conference on Management of data
Is it a tree, a DAG, or a cyclic graph? A shape analysis for heap-directed pointers in C
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
An orthogonally persistent Java
ACM SIGMOD Record
An overview of query optimization in relational systems
PODS '98 Proceedings of the seventeenth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems
The entity-relationship model—toward a unified view of data
ACM Transactions on Database Systems (TODS) - Special issue: papers from the international conference on very large data bases: September 22–24, 1975, Framingham, MA
The object data standard: ODMG 3.0
The object data standard: ODMG 3.0
SIGPLAN '84 Proceedings of the 1984 SIGPLAN symposium on Compiler construction
Systematic design of program transformation frameworks by abstract interpretation
POPL '02 Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Types and programming languages
Types and programming languages
Making smalltalk a database system
SIGMOD '84 Proceedings of the 1984 ACM SIGMOD international conference on Management of data
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
Static Checking of Dynamically Generated Queries in Database Applications
Proceedings of the 26th International Conference on Software Engineering
From sequential programs to multi-tier applications by program transformation
Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Safe query objects: statically typed objects as remotely executable queries
Proceedings of the 27th international conference on Software engineering
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
Impact analysis of database schema changes
Proceedings of the 30th international conference on Software engineering
Self-configuring object-to-relational mapping queries
Proceedings of the 6th international symposium on Principles and practice of programming in Java
Interprocedural query extraction for transparent persistence
Proceedings of the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications
WebDSL: A Case Study in Domain-Specific Language Engineering
Generative and Transformational Techniques in Software Engineering II
Analysis of imperative XML programs
Information Systems
The Script-Writer's Dream: How to Write Great SQL in Your Own Language, and Be Sure It Will Succeed
DBPL '09 Proceedings of the 12th International Symposium on Database Programming Languages
HadoopToSQL: a mapReduce query optimizer
Proceedings of the 5th European conference on Computer systems
Links: web programming without tiers
FMCO'06 Proceedings of the 5th international conference on Formal methods for components and objects
Analysis of imperative XML programs
DBPL'07 Proceedings of the 11th international conference on Database programming languages
Information Sciences: an International Journal
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
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
Effective quotation: relating approaches to language-integrated query
Proceedings of the ACM SIGPLAN 2014 Workshop on Partial Evaluation and Program Manipulation
Hi-index | 0.00 |
Transparent persistence promises to integrate programming languages and databases by allowing procedural programs to access persistent data with the same ease as non-persistent data. When the data is stored in a relational database, however, transparent persistence does not naturally leverage the performance benefits of relational query optimization. We present a program analysis that combines the benefits of both approaches by extracting database queries from programs with transparent access to persistent data. The analysis uses a sound abstract interpretation of the original program to approximate the data traversal paths in the program and the conditions under which the paths are used. The resulting paths are then converted into a query, and the program is simplified by removing redundant tests. We study an imperative kernel language with read-only access to persistent data and identify the conditions under which the transformations can be applied. This analysis approach promises to combine the software engineering benefits of transparent data persistence with the performance benefits of database query optimization.