LLVM

The compiler frameworks LLVM can be used to instrument provenance at compilation time. This works for a range of programming languages, such as C, C++, and Java. The idea is to insert capture of execution provenance at each function entry and exit: when the framework compiles the experiment, provenance at the binary level is transparently captured at the cost of a small overhead.

Edit this entry on GitHub