liuml07 / giri

Dynamic Program Slicing in LLVM Compiler
Other
134 stars 33 forks source link
compilers instrumentation llvm program-analysis research-project

Giri: Dynamic Program Slicing in LLVM

Dynamic program slicing is a technique that can precisely determine which instructions affected a particular value in a single execution of a program. Giri implements dynamic backwards slicing in LLVM compiler.

License Build Status Current Release

Install

Usage

  1. Hello World!
  2. Example Usage

Please see our wiki page for more information.

Credit

This project was first developed by Swarup Kumar Sahoo, John Criswell, and Dr. Vikram S. Adve from UIUC. It was selected by the Google Summer of Code (GSoC) 2013, under its umbrella project LLVM. Mingliang Liu from Tsinghua University joined to improve Giri in June, 2013. It's an ongoing project and pull requests are heavily appreciated.

If you use Giri in your research project, please cite our work.

[1] Swarup Kumar Sahoo, John Criswell, Chase Geigle, and Vikram Adve. Using Likely Invariants for Automated Software Fault Localization. In Proceedings of the 18th International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS'13, New York, USA, 2013. ACM.