[llvm-dev] RFC: Comprehensive Static Instrumentation

Tyler Denniston via llvm-dev llvm-dev at lists.llvm.org
Thu Jun 23 13:55:02 PDT 2016

Hi Christian,

While not yet merged into LLVM trunk, the CSI implementation is
available for download from our public GitHub organization. You're
welcome to download CSI and start trying it out now.

To clone CSI, execute these commands:

   git clone --recursive git at github.com:csi-llvm/llvm.git
   cd llvm/csi

This will clone and build the modified version of LLVM trunk that
contains the modifications to implement CSI.

In the 'llvm/csi' directory, you'll see several example tools in the
'toolkit' directory, and a sample program and Makefile in the
'example' directory to illustrate how a CSI-instrumented executable is

We've so far only tested on Ubuntu 14.04 x64_64. Please let us know of
any feedback you may have!


On Mon Jun 20 06:02:26 PDT 2016, Christian Convey via llvm-dev
<llvm-dev at lists.llvm.org> wrote:

 > I think the CSI framework, or something like it, could be helpful for 
 > work I'm trying to do regarding dynamic memory analysis: given a C/C++
 > program in which certain l-value expressions are marked as "interesting",
 > invoke my analysis callback every time that memory is written.
 > Of the options I've looked at for implementing this, it sounds like CSI
 > might be my best bet.  (Factors include license terms, performance of the
 > instrumented app, and how much time it would take me to create such a 
 > - Christian

More information about the llvm-dev mailing list