Research

Here is some information on my current and past research projects and my publications. Also see my DBLP page.

current

Thin Slicing
I'm working on thin slicing, an alternative to program slicing that aims to better focus on statements most relevant to debugging and program understanding tasks.
Points-To Analysis
I'm working on developing fast and precise points-to analysis algorithms, with potential applications in development environments, just-in-time compilers, and verification tools.

past

Program Analysis Group at Microsoft Research
Under Dr. Zhe Yang, I worked on developing a postmortem analysis that produces execution traces from bug reports, helping programmers to reason about such reports more easily.
Software Design Group at MIT Lab for Computer Science
Under Prof. Daniel Jackson, I worked on the design and implementation of the Alloy lightweight modelling language.
DejaVu Project at IBM Research
Under Dr. Jong-Deok Choi, I worked on extensions and new applications for DejaVu, a tool which allows for deterministic replay of non-deterministic multithreaded Java programs.
Information Economies Project at IBM Research
Working under Dr. Gerald Tesauro, I researched the use of regression trees as a function approximator for a reinforcement learning algorithm utilized by economic software agents.
PML at UC Berkeley
With Evan Chang, I worked on developing the Pathway Modeling Language, a high-level language for modeling biological systems.
Combinatorial Game Theory at UC Berkeley
AJ Shankar and I used computational search to find interesting new positions in the game of Domineering.