[llvm-dev] RFC: Comprehensive Static Instrumentation

Christian Convey via llvm-dev llvm-dev at lists.llvm.org
Mon Jun 20 06:02:26 PDT 2016

I think the CSI framework, or something like it, could be helpful for some
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 tool.)

- Christian

On Thu, Jun 16, 2016 at 12:01 PM, TB Schardl via llvm-dev <
llvm-dev at lists.llvm.org> wrote:

> Hey LLVM-dev,
> We propose to build the CSI framework to provide a comprehensive suite of
> compiler-inserted instrumentation hooks that dynamic-analysis tools can use
> to observe and investigate program runtime behavior.  Traditionally, tools
> based on compiler instrumentation would each separately modify the compiler
> to insert their own instrumentation.  In contrast, CSI inserts a standard
> collection of instrumentation hooks into the program-under-test.  Each
> CSI-tool is implemented as a library that defines relevant hooks, and the
> remaining hooks are "nulled" out and elided during link-time optimization
> (LTO), resulting in instrumented runtimes on par with custom
> instrumentation.  CSI allows many compiler-based tools to be written as
> simple libraries without modifying the compiler, greatly lowering the bar
> for
> developing dynamic-analysis tools.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160620/529d84d6/attachment.html>

More information about the llvm-dev mailing list