Umut Acar
Toyota Technological Institute and the University of Chicago

Self-Adjusting Computation in C

Self-adjusting computation is a technique that was born from my doctoral-thesis research here at CMU.  It is motivated by a myriad of examples in a broad set of application domains including programming languages, robotics, scientific computing, computational biology, etc.  The goal is to offer linguistic paradigms, techniques, and tools for developing safe and efficient software systems that can automatically respond to modifications to their data, state, or environment (due to a number of reasons, e.g., user interactions, changes in the physical world).  To achieve this goal, we develop techniques that combine ideas from type-systems, programming-languages, algorithms, and system design in innovative ways.

In our work thus far, we have primarily used high-level, type-safe, mostly functional languages, e.g., SML, to host self-adjusting-computation languages and systems.  We recently started experimenting with ideas for supporting self-adjusting computation efficiently in the context of the ultimate low-level language: C.  In this talk, I will give a brief overview of self-adjusting computation and describe our experience in developing the CEAL (read "seal") language: A C-based language for self-adjusting computation.

Host:  Guy Blelloch
Appointments: Dennis Marous <>

Friday, February 6, 2009
3:30 p.m.
Wean Hall 8220

Principles of Programming Seminars