Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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.
- Host: GitHub
- URL: https://github.com/mchalupa/dg
- Owner: mchalupa
- License: mit
- Created: 2015-02-19T14:12:47.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2023-11-29T13:25:33.000Z (about 1 year ago)
- Last Synced: 2024-12-04T06:01:25.220Z (18 days ago)
- Topics: 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
- Language: C++
- Homepage:
- Size: 5.72 MB
- Stars: 486
- Watchers: 20
- Forks: 135
- Open Issues: 84
-
Metadata Files:
- Readme: README.md
- Changelog: Changelog
- License: LICENSE
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).