A Development Environment for Query Optimizer Engineering

The goal of this project is to support research and development of (query) optimizers in data management systems. Optimizers, which translate declarative descriptions of data (queries) into executable plans, are inherently complex but nonetheless, there are no software engineering tools dedicated to their development. Therefore this project aims to design and build DEVEL-OP: a dedicated DEVELopment Environment for OPtimizers consisting of the following suites of tools:

1) Component Generators, which use declarative specifications of components to produce executable code. Developers can use generators to rapidly prototype alternative versions of components encompassing different optimization approaches,

2) Profiling Tools, which help developers identify bugs or performance bottlenecks in generated components, and

3) Component Benchmarks, which enable the evaluation of optimization approaches (as manifested in generated components) in terms of their effectiveness and robustness in contributing to optimization as a whole.


NSF Award Page