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.
- Refinement-Based Context-Sensitive
Points-To Analysis for Java with
Rastislav Bodik. Published in Proceedings of ACM
SIGPLAN 2006 Conference on Programming Language Design and Implementation (PLDI
2006). Ottawa, Canada, June 10-16, 2006. Technical
report with full data. Talk slides
-
Demand-Driven Points-To Analysis for Java with
Denis Gopan, Lexin Shan, and Rastislav Bodik. Published in Proceedings
of Twentieth Conference on Object-Oriented Programs, Systems,
Languages, and Applications (OOPSLA 2005). San Diego, CA, October
16-20, 2005. Talk slides
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.
- Debugging
Overconstrainted Declarative Models Using Unsatisfiable Cores with
Ilya Shlyakhter, Robert Seater, Daniel Jackson, and Mana Taghdiri. Published
in Proceedings of IEEE International
Conference on Automated Software Engineering (ASE 2003). Montreal, Canada,
October 6-10, 2003. Winner, best paper award.
- Analyzing
Distributed Algorithms with First-Order Logic with Ilya
Shlyakhter and Daniel Jackson. Unpublished manuscript.
- A
Micromodularity Mechanism with Daniel Jackson and Ilya
Shlyakhter. Published in Proceedings of Foundations of Software Engineering / European
Software Engineering Conference (FSE/ESEC 2001). Vienna, Austria,
September 10-14, 2001.
- 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.
- Dynamic Datarace Detection for Object-Oriented Programs. M.Eng. thesis,
May 2002.
- Efficient and
Precise Datarace Detection for Multithreaded Object-Oriented
Programs with Jong-Deok Choi, Keunwoo Lee, Alexey Loginov, Robert
O'Callahan, and Vivek Sarkar. Published in Proceedings of ACM
SIGPLAN 2002 Conference on Programming Language Design and Implementation (PLDI
2002). Berlin, Germany, June 17-19, 2002.
-
A Debugging Platform for Java Server Applications with Bowen Alpern,
Jong-Deok Choi, Ton Ngo, John Vlissides, and Hytm-Gyoo Yook. IBM Research
Report 22036.
-
A
Perturbation-Free Replay Platform for Cross-Optimized Multithreaded
Applications with Jong-Deok Choi, Bowen Alpern, Ton Ngo, and John
Vlissides. Published in Proceedings of Fifteenth International Parallel and
Distributed Processing Symposium (IPDPS 2001). San Francisco, CA, April
23-27, 2001.
- 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.