The overall goal of my research is to build resilient computer systems. Resilient systems are those that can continue to operate satisfactorily despite the presence of errors and attacks. Note however that satisfactorily does not mean perfectly, as perfect protection costs too much in most practical scenarios. Rather, our goal is to provide “good enough” protection so that the most critical parts of the system are unaffected by the error (or attack), in order to keep costs low. I call this paradigm “Good Enough Dependability”.

You can read more about this approach in an invited panel presentation I gave at the IEEE International Symposium on High Assurance Systems Engineering (HASE), 2014. A more detailed statement of my research interests and directions may be found here.

Active projects:

  • Error-resilient Software : We investigate methods to build software that is resilient to a wide variety of hardware faults
  • Web Applications Reliability: We investigate the reliability of modern JavaScript based web applications and how to build resilient JavaScript-based web applications.
  • Smart Meter Security: We build efficient host-based intrusion detection systems (IDS) for smart meters to make them resilient to a wide variety of security attacks.
  • Reliability of Cloud Systems: We statistically characterize the reliability of cloud applications and find ways to improve their reliability.

Completed projects (these projects are no longer active – contact me if you want more details about these)