Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/mchalupa/dg

[LLVM Static Slicer] Various program analyses, construction of dependence graphs and program slicing of LLVM bitcode.
https://github.com/mchalupa/dg

analysis backward-slice backward-slicing control-dependency data-dependency dependence-graph dependency-graph llvm llvm-bitcode llvm-ir llvm-slicer pointer-analysis points-to-analysis program-analysis reaching-definitions slice slicing static-analysis static-analyzer static-code-analysis

Last synced: 4 days ago
JSON representation

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

Awesome Lists containing this project

README

        

# DG

[![Linux CI](https://github.com/mchalupa/dg/actions/workflows/linux.yml/badge.svg)](https://github.com/mchalupa/dg/actions/workflows/linux.yml)
[![macOS CI](https://github.com/mchalupa/dg/actions/workflows/mac.yml/badge.svg)](https://github.com/mchalupa/dg/actions/workflows/mac.yml)

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](doc/llvm-slicer.md) for LLVM bitcode. Some documentation can be found in the [doc/](doc/) directory.

* [Downloading DG](doc/downloading.md)
* [Compiling DG](doc/compiling.md)
* [Using llvm-slicer](doc/llvm-slicer.md)
* [Other tools](doc/tools.md)

------------------------------------------------

You can find a high-level description of DG in [DG: a program analysis library](https://doi.org/10.1016/j.simpa.2020.100038) or [DG: Analysis and slicing of LLVM bitcode](https://www.fi.muni.cz/~xchalup4/dg_atva20_preprint.pdf) papers. More detailed information about dg is in the doc/ folder or in my [master thesis](http://is.muni.cz/th/396236/fi_m/thesis.pdf).

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