IMDEA Software

IMDEA initiative

Home > Events > Software Seminar Series > 2009 > Foundations of Dynamic Tracing

Juan Cespedes

Tuesday, September 29, 2009

11:00am Meeting room 302 (Mountain View), level 3

Juan Cespedes, System Administrator and Developer, IMDEA Software Institute

Foundations of Dynamic Tracing

Abstract:

In this talk I will present the first principles of dynamic tracing, in particular tracing of systems programs. Tracing is used for building debuggers, monitors and runtime-verification tools.

I will start by introducing the support that modern processors and operatings offer for tracing, focusing on the facilities exposed by the Linux kernel. Then, I will describe how a dynamic library tracer can be built using this infrastructure. The paramount example is the tool ltrace which I implemented a while ago.

Finally, I will describe the changes required to extend a dynamic library tracer into a runtime-verification infrastructure that handles concurrency (both light and heavy threads, both simulated concurrency and real-multicore multi-processors). Bagheera is a toolkit being developed at IMDEA-Software that implements these extensions and is reprogammable.

Bagheera is joint work with Santiago Romero and Cesar Sanchez.