Light-Weight Instrumentation From Relational Queries Over Program Traces

Light-Weight Instrumentation From Relational Queries Over Program Traces. Simon Goldsmith, Robert O'Callahan and Alex Aiken.

Neel mentioned this paper when I complained on LtU1 that I haven't seen something interesting enough to post for a while.

It is indeed an interesting, well written, paper.

The authors show the design of Program Trace Query Language (PTQL), a declarative language for querying program behaviour. The PTQL compiler can then be used to instrument a java bytecodes and insert the required data capture operations.

Quite a lot of effot went into making the instrumented code efficient enough to allow queries to be evaluated while the program is running.