ShiftLeft Ocular supports the examination and investigation of LLVM applications. LLVM is a compiler infrastructure project providing a set of compiler and toolchain technologies, which can be used to develop a front end for any programming language and a back end for any instruction set architecture.
ShiftLeft Ocular examines LLVM bitcode in the following forms:
LLVM IR (human-readable representation)
LLVM Bitcode (bitstream representation)
Embedded Bitcode (bitstream representation embedded into a binary)
Before using ShiftLeft Ocular, you must extract the LLVM bitcode out of high-level source code by introducing the appropriate flags into your build system (i.e.
-fembed-bitcode), or use
After installing the ShiftLeft Command Line Interface (CLI), authenticating and starting ShiftLeft Ocular, create the Code Property Graph (CPG) for your LLVM application using
<inputPaths> is the path of the target application; multiple applications are separated by a comma. For LLVM, the path is the directory containing the LLVM files.