Skip to content


PEBIL: Static Binary Instrumentation for x86/Linux

PEBIL is a lightweight binary instrumentation tool that can be used to capture information about the behavior of a running executable. Within PMaC it is used for static analysis, to count basic block and loop execution frequencies, and as a driver for the cache simulator that powers its performance prediction framework.

PEBIL is also gaining traction as a convenient way of performing comprehensive static analysis for a program. Just run one of the main line tools (e.g., BasicBlockCounter) on an executable and see the resulting file static analysis text file <program>.<toolext>.static.

PEBIL is free and open source. We love hearing about other research or projects that use PEBIL. If that describes you, or if you otherwise have questions or comments feel free to contact its author, Michael Laurenzano, at michaell [a@t]


PEBIL: Efficient Static Binary Instrumentation for Linux
International Symposium on the Performance Analysis of Systems and Software. 2010.
A Static Binary Instrumentation Threading Model for Fast Memory Trace Collection
Workshop on Data-Intensive Scalable Computing Systems, 2012.


Version 2.0.0 (11/15/2012)

New Features: lots of bug fixes, vastly improved overheads for instrumentation pass, added support for instrumenting multithreaded codes (OpenMP and pthreads) as well as multi-image runs.