I was a Computer Science PhD student at MIT advised by Prof. Armando Solar-Lezama. My thesis was about automating tedious programming tasks using execution trace data and live demonstrations.
In the past, I have completed Master of Engineering degree at MIT under supervision of Prof. Daniel Jackson and had a great time working with Prof. Viktor Kuncak at EPFL and K. Rustan M. Leino at Microsoft Research.
I was a teaching assistant for Elements of Software Construction (known as 6.005, the main introductory software engineering course at MIT) twice in Spring 2009 and Fall 2008.
Using SMT solvers for deductive synthesis of cache-oblivious dynamic-programming algorithms |
Data-Driven Program Synthesis |
Using SMT solvers for constraint programming in Scala |
Stepwise refinement of heap-manipulating code in Chalice |
Unified execution of declarative and imperative code in Squander |
General purpose SAT-powered bounded model checking of Java code in JForge Eclipse Plug-in |
A JML front-end for Forge bounded verification called JMLForge |
Course Projects |