Programs that use databases are central to our information infrastructure. Such systems are increasingly being developed using procedural object-oriented languages and relational databases. But procedural languages and database query languages are based on different semantic foundations and optimization strategies. Careful optimizations are often needed to attain good performance, resulting in programs that are difficult to maintain and evolve.
The goals of this project are to create methods, languages and tools which enable application programmers to readily develop efficient and well-structured programs for applications which integrate database processing into procedural programs, to develop a framework for evaluation of solutions for this problem and to develop and offer courses which integrate database and procedural language program development.
Papers
Interprocedural Query Extraction for Transparent Persistence
Ben Wiedermann, Ali Ibrahim & William R. Cook
to appear at OOPSLA 2008.
Automatic Prefetching by Traversal Profiling in Object Persistence Architectures (updated 4/8/2006) (2up for printing)
Ali Ibrahim & William R. Cook
To appear, Proc. of the European Conference on Object-Oriented Programming (ECOOP), 2006- Native Queries for Persistent Objects, A Design White Paper
William R. Cook, Carl Rosenberger
Dr. Dobb's Journal (DDJ), February 2006.- Programming Languages & Databases: What’s the Problem?
William R. Cook and Ali H. Ibrahim
submitted for publication, May 2005- Safe Query Objects: Statically Typed Objects as Remotely Executable Queries
William R. Cook and Siddhartha Rai.
Proc. of the International Conference on Software Engineering (ICSE), 2005.
(slides from talk)Collaboration
- db4objects
We are collaborating on the design of Native Queries, and they are implementing the specification in their high-performance open source object database engine.- ODBMS.ORG
Information on object databases and related technologies.Students
- Ali Ibrahim: Safe Query Objects & Learning database query extents
- Ben Wiedermann: Extracting relational queries via control/data flow analysis
Grants
- NSF CAREER #CCF-0448128: Integrating Programming Languages and Databases. March 1, 2005
This material is based upon work supported by the National Science Foundation under Grant No. 0448128. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.Courses
- Fall 2003: Integrating Programming Languages and Databases (CS395T)