Introduction
VULFI is an open-source instruction-level fault injection framework developed using LLVM compiler infrastructure. VULFI performs fault injection at LLVM's intermediate representation (IR) level. It currently supports C, C++, ISPC, OpenCL, and MPI-C languages. Note that to target an OpenCL program for fault injection using VULFI, the program should be compiled using Intel's OpenCL Compiler. Conceptually, VULFI can target any high level language which can be compiled to LLVM's intermediate representation. It is our intention to keep VULFI up-to-date supporting the latest LLVM development branch while also maintaining reasonable support for older versions of LLVM.
People
Faculty & Collaborators
Developers
- Vishal Sharma
- Ian Briggs
- Vinu Joseph
- Arnab Das
Cite our work
When you use VULFI in your research work, please cite our work using below citation information. The paper could be found here.
@inproceedings{dpdns16vulfi,
author = {Vishal Chandra Sharma, Ganesh Gopalakrishnan, Sriram Krishnamoorthy},
title = {Towards Reseiliency Evaluation of Vector Programs},
booktitle = {21st IEEE Workshop on Dependable Parallel, Distributed and Network-Centric Systems (DPDNS)},
year = {2016},
}
Code documentation
The latest doxygen code documentation of VULFI could be found here.
LLVM Resources
If you are new to LLVM, you may find below resources useful:
- Getting started with LLVM
- Writing an LLVM Pass
- LLVM Programmer's Manual
- LLVM Language Reference
- Adrian Sampson's Blog on LLVM
- Building LLVM with CMake
- LLVM CMake Variables
- LLVM’s Analysis and Transform Passes
Contact Us
If you have feedback or would like to report an issue, please email us or join our mailing list.
Getting Started with VULFI
Refer to the VULFI README file for getting started with VULFI.