I work as a Researcher in the Cognitive Solutions and Services group at IBM Research, Bangalore, India. I'm interested in designing reliable, distributed, interactive, multi-modal systems involving human computer symbiosis for faster decision-making and task execution.
My recent work involves investigating user-friendly programming abstractions to enable rapid development of reactive, data-driven web applications (user interfaces, in general). I also have expertise in automated verification and theorem proving techniques for checking reliability of sequential/concurrent software systems.
I worked earlier as a Research Staff Member in the System Analysis and Verification group at NEC Labs, Princeton. I obtained my Ph.D. and M.S. in Computer Engineering from Carnegie Mellon University, and B.Tech. (Hons.) in Computer Sc. and Engg. from IIT Kharagpur.
More details on my personal web page.
Programming the Web. Developing rich web applications for heterogeneous platforms rapidly and effectively.
Alter. A scalable and focused program analyzer which employs goal-directed search and learns from failures.