Jiamin Huang edited this page Jul 18, 2017 · 19 revisions

VProfiler is a profiler built to examine the predictability of a system. It can analyze a software system and attempts to determine the root causes of variance within that system. Through an abstraction termed a variance tree, VProfiler iteratively examines deeper and deeper nodes within a system's call graph. This results in VProfiler's ability to attribute variance to specific sections of a codebase, allowing engineers to determine the root cause of predictability issues within their system.


  • Linux
  • libclang-dev (deb) / clang-devel (RPM)
  • g++ 4.9+
  • Python 2.7+
  • Boost

File python_deps contains a list of python packages required by VProfiler. Use your favorite package manager to install them.


To install VProfiler, run the following:

cd vprofiler
sudo make install

If you'd like to install VProfiler to a directory besides <install_prefix>/bin instead of /usr/local/bin, run the following instead of sudo make install:

sudo make install INSTALL_PREFIX=<your_install_prefix>

User Guide

For a guide on VProfiler usage, please visit our user guide.


You can find the techniques behind VProfiler in our research paper.


VProfiler is being developed within Barzan Mozafari's lab at the University of Michigan.

Clone this wiki locally
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.