/dg

[LLVM Static Slicer] Various program analyses, construction of dependence graphs and program slicing of LLVM bitcode.

Primary LanguageC++MIT LicenseMIT

DG

Linux CI macOS CI

DG is a library containing various bits for program analysis. However, the main motivation of this library is program slicing. The library contains implementation of a pointer analysis, data dependence analysis, control dependence analysis, and an analysis of relations between values in LLVM bitcode. All of the analyses target LLVM bitcode, but most of them are written in a generic way, so they are not dependent on LLVM in particular.

Further, DG contains an implementation of dependence graphs and a static program slicer for LLVM bitcode. Some documentation can be found in the doc/ directory.


You can find a high-level description of DG in DG: a program analysis library or DG: Analysis and slicing of LLVM bitcode papers. More detailed information about dg is in the doc/ folder or in my master thesis.

You can write e-mails with issues to mchqwerty@gmail.com (or file issue in github).