I’m a PhD student in the Programming Systems Group working under my excellent advisors Ranjit Jhala and Sorin Lerner. My research interests lie in the areas of software verification, type systems, and parallel programming. More specifically, my work has included efforts to improve the Java type system with respect to wildcards, as well as analyses for automated verification of GPGPU programs.
I graduated from Cornell University in Spring 2004 with a degree in Electrical and Computer Engineering with a concentration in computer architecture. Immediately afterwards, I joined Intel, where I worked with a fantastic group of engineers designing cache systems on several generations of Itanium microprocessors. During this time I developed a curiosity for software design, and in particular, the design of VLSI development tools. My interest in programming languages began when I saw how fundamentally the choice of language influenced the structure of such tools. That initial spark has only grown over time, to the point that I decided to return to school to pursue a PhD in 2010.