About the author

I am a graduate student at the University of British Colombia. I completed my undergraduate from the Netaji Subhas University of Technology (NSUT), India, with my degree in the field of Electronics and Communication Engineering (ECE). I have a keen interest in Operating systems, Program Analysis, and compilers.

Github Profile link:
Personality type: INFJ

Career Timeline

Sept, 2021
University of British Columbia, Vancouver
Master's Student

Advisor: Karthik Pattabiraman

Specialization: Error Resilient computing

August, 2020
Microsoft Research, India
Research Intern

Advisor: Akash Lal.

Worked on the development and benchmarking of a language - agnostic, systematic concurrency testing framework.

Aug, 2019
IIIT-Delhi, New Delhi
Research Assistant

Advisor: Rahul Purandare.

Worked on aiding program comprehension through the extraction of object-oriented features like class relationships from X86 executables, DLLs and representing them as UML class diagrams.

May, 2019
University of Delhi, New Delhi

Graduated from the University of Delhi - First class with distinction 🙂

April, 2019
University of Delhi, New Delhi
Bachelor's thesis defense

Advisor: Kunwar Singh

Successfully did my  thesis defense, Yipieeee!!
Specialization: Neuromorphic CMOS-Memristor hybrid ICs.
My thesis: LINK

May-August, 2018
Google Summer of Code

Advisor: Gedare Bloom

* One of the 1268 students selected by Google worldwide to work with leading open source organizations;
* Worked on Real-Time Executive for multi-processor systems (RTEMS) and Flexible I/O tester (FIO) to develop a port and use it for benchmarking various In-memory, Flash and Block filesystems supported by RTEMS.

August, 2015
University of Delhi, New Delhi
Undergraduate Student

Specialization: Electronics and Communication Engineering.


Ongoing Projects:

1. Delay Injection:

Objective: To come up with delay fuzzing algorithms that efficiently explores the interleaving space of concurrent programs to find data races, atomicity/order violations and deadlock bugs.
Motivation: For testing multi-threaded programs, we can either do stress testing (run a multi-threaded application with large number of worker threads and then hope for the bugs to manifest themselves) or systematic testing/model checking (systematically explore the thread interleaving space). One big implementation hurdle with systematic testing is that it requires complete control over the concurrency, synchronization primitives and all blocking system calls/3rd party APIs. So, as an alternative to SCT, we are trying to use delay fuzzing for exploring the interleaving space of the programs. However, delay fuzzing with randomly injecting delays doesn’t work well and so we need to come up with other smarter algorithms.