Formal Methods for Resilience (FMR)


With technology scaling, shrinking die size, and relentless drive to push performance-per-watt, system resilience has become a growing area of concern. Issues impacting system resilience like variability, soft-errors, and leakage in transistors are expected to grow further in future. Our mission is to develop efficient cross-layer solutions to improve system resilience. We aim to provide light-weight solutions by developing techniques which encompass areas such as formal methods, program analysis, and machine learning. We also aim to make our best effort to publicly release our tools to further promote innovation through active collaborations.

resilience research overview


PRESAGE: A Tool for Protecting Structured Address Computations

PRESAGE is an open-source tool which is aimed at protecting structured address computations against soft errors. It is developed using LLVM compiler infrastructure. It applies a novel rewriting scheme, dubbed Relative Base Addressing (RBA) scheme, which introduces dependency chains between same-base-address-sharing GetElementPtr instructions at LLVM intermediate representation (IR) level. Currently, PRESAGE is extensively tested on C benchmarks drawn from Polybench/C benchmark suite. However, it should work for any high-level language which can be compiled to LLVM IR.

VULFI: An instruction-level fault injector for Vector Programs

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. VULFI source code is available on github.

KULFI: An instruction-level fault injector

KULFI is an instruction level fault injector which simulates soft errors occuring in CPU register elements during program execution. It is developed using LLVM compiler insfrastructure. KULFI is an open source project, and is publicly available at github.

SORREL: An Approximate-Computation Driven Soft-Error Detection Framework

Sorrel is an open-source framework for synthesizing detectors aimed at detecting soft-errors which cause silent data corruption (SDC) in the execution output of time-stepped scientific applications. The Sorrel framework also provides a feature to efficiently compute an approximation of a target computational kernel for synthesizing run-time error detectors.


  • Towards Formal Approaches to System Resilience. Vishal Chandra Sharma, Arvind Haran, Zvonimir Rakamaric, Ganesh Gopalakrishnan. 19th IEEE Pacific Rim International Symposium on Dependable Computing (PRDC) 2013, Vancouver, Canada.[pdf] [bib] [talk]

  • FUSED: A Low-cost Online Soft-Error Detector. Vishal Chandra Sharma, Zvonimir Rakamaric, Ganesh Gopalakrishnan. 10th IEEE Workshop on Silicon Errors in Logic - System Effects (SELSE) 2014, Palo Alto, CA, USA.[pdf] [bib] [poster]

  • Detecting Soft Errors in Stencil based Computations. Vishal Chandra Sharma, Greg Bronevetsky, Ganesh Gopalakrishnan. 11th IEEE Workshop on Silicon Errors in Logic - System Effects (SELSE) 2015, Austin, TX, USA.[pdf] [bib] [poster]

  • Towards Reseiliency Evaluation of Vector Programs. Vishal Chandra Sharma, Ganesh Gopalakrishnan, Sriram Krishnamoorthy. 21st IEEE Workshop on Dependable Parallel, Distributed and Network-Centric Systems (DPDNS) 2016, Chicago, Illinois USA [pdf] [bib]

  • PRESAGE: Protecting Structured Address Generation against Soft Error. Vishal Chandra Sharma, Ganesh Gopalakrishnan, Sriram Krishnamoorthy. 23rd IEEE International Conference on High Performance Computing (HiPC) 2016, Hyderabad, India [pdf] [bib]


  • TOWARDS BUILDING EFFICIENT ERROR DETECTORS FOR IMPROVING SYSTEM RESILIENCE. Vishal Chandra Sharma. Ph.d. Computer Science (Dissertation), School of Computing, University of Utah, August 2017 [pdf]

  • PROGRAM ANALYSES FOR RESILIENT AND APPROXIMATE COMPUTATION. Arvind Haran. M.S. Computer Science (Thesis), School of Computing, University of Utah, 2014 [pdf]




Current Graduate Students

  • Vinu Joseph (PhD Student)
  • Arnab Das (PhD Student)

Past Graduate Students