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.
- Simply use the prebuilt Docker image:
docker pull liuml07/giri
- Or, you can compile Giri by yourself
Please see our wiki page for more information.
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.