MIT Computer Science and Artificial Intelligence Laboratory (formerly the MIT Laboratory for Computer Science)
32 Vassar St., 32-G724
Cambridge MA 02139
Office Phone: (617) 253-2323
From 2002 to 2008 I was graduate student working with Michael Ernst and the Program Analysis Group; this web site dates from that time and mainly describes research I did there.
Since the fall of 2008 I've been a post-doc at UC Berkeley, working on language-based security techniques with Dawn Song and her research group. See my new web page there for more details.
My Ph.D. research studied a practical technique for quantitative information-flow measurement. Recent results include a paper that appeared at PLDI 2008, and the release of our implementation in a tool called Flowcheck.
Earlier at MIT, I looked at some of the things that can go wrong when software is upgraded, and how we can use programming language and analysis technologies to mitigate those problems. This work formed the basis of my Master's thesis, for which I received the S.M. degree in February 2004. More about my software upgrades research
I've also worked on a binary-level technique to efficiently enforce security policies. For more about the technique, and its implementation in a tool named PittSFIeld, see the PittSFIeld page.
I spent the summer of 2005 at Microsoft Research in Redmond, working with Trishul Chilimbi on using dynamically-collected points-to sets to improve the efficiency of software model checking.
A list of my recent publications is available on a separate page.
During the spring of 2007, I worked as a TA in 6.001. My tutorial notes from the semester are available.
If you're developing or testing tools that operate on C source code, you might want to reuse my single-file versions of open-source programs.
I've been teaching myself how to use the ACL2 theorem prover. As an exercise, I proved a personal favorite result from pure mathematics, Goodstein's theorem. Here's the proof script; sorry for the lack of comments.
From 1998-2002 I was an undergraduate studying computer science at the University of California, Berkeley; while there, I worked with the Harmonia research group and helped out at the Open Computing Facility, among other things.
I've also done some fun things with Perl.