Self-Adjusting Computation

Many interesting computational problems involve processing data that changes over time, e.g., physical simulations often involve moving objects, networks change as links are added or removed dynamically, a robot may need to re-plan a path to its destination when it encounters a previously unknown obstacle. We research computational models, programming-languages, algorithms, and software systems for such dynamic problems. Specifically, we develop the self-adjusting-computation model where programs can respond automatically and often efficiently to various modifications to their data. The Delta ML and CEAL languages realize self-adjusting computation by extending Standard ML and C languages (respectively). Inspired by these techniques, we investigate problems in computational geometry, statistical inference, provenance.

People

Thesis

Papers