SBT-instrumentation: A Tool for Configurable Instrumentation of LLVM Bitcode
The paper describes a member of the Symbiotic toolbox called sbt-instrumentation, which is a tool for configurable instrumentation of LLVM bitcode. The tool enables a user to specify patterns of instructions and to define functions whose calls will be inserted before or after instructions that match the patterns. Moreover, the tool offers additional functionality. First, the instrumentation can be divided into phases in order to pass information acquired in an earlier phase to the later phases. Second, it can utilize results of some external static analysis by connecting it as a plugin. The sbt-instrumentation tool has been developed as the part of Symbiotic responsible for inserting memory safety checks. However, its configurability opens the way to use it for many various purposes.
READ FULL TEXT