MetaCG offers an annotated whole program call-graph tool for Clang/LLVM.
// readme
MetaCG
MetaCG provides a common whole-program call-graph representation to exchange information between different tools built on top of LLVM/Clang. It uses the JSON file format and separates structure from information, i.e., caller/callee relation and meta information.
The MetaCG graph library is the fundamental component, together with, e.g., I/O facilities. The repository also contains an experimental Clang-based tool for call-graph construction at the source-code level. As an example tool, the repository contains the PGIS analysis tool, which is used as the analysis backend in PIRA. PGIS has been deprecated and may be removed in a future version.
The current default file format is MetaCG format version 4. More info on the different formats can be found in the graph README.
The MetaCG project includes pymetacg, a set of bindings that allows to parse MetaCG files from Python.
Refer to the pymetacg README for more information how to build and use pymetacg.
Requirements and Building
MetaCG consists of theβ¦