I consider myself an experimental computer scientist who builds things. My current research interests are in performance analysis and tuning of computer systems in the cloud. Previously, I have done research in performance issues of native and Java applications running on multicore systes, the static analysis and optimization of object-oriented languages and online feedback-directed optimization.
- MARS: performance optimization of Java enterprise applications, with a focus on IBM's FileNet Content Manager.
- THOR: visualization and analysis tool for Java application running on multicores (part of the internal IBM multicore SDK tool suite).
- Continuous Program Optimization: developed an automatic technique to selectively map data structures to large pages (incorporated into IBM AIX operating system).
- Jikes RVM (aka Jalapeno) Adaptive Optimization System: dynamic compilation techniques for Java (available as part of Jikes RVM at http://jikesrvm.org/).
- Java Application Extractor (JAX): a static analysis tool that eliminates unused classes, methods and instance variables (released on alphaWorks).
- High Performance Fortran compiler: available as IBM product on SP2 distributed super computer.
I received my M.S. in Computer Science in May, 1988 from Columbia University's School of Engineering and Applied Science. I received my B.S. in Computer Science in January, 1984 from Columbia University's School of General Studies. I am ABD from the PhD program in the Computer Science Department at the University of Wisconsin in Madison.
- I am an ACM distinguished scientist.
- I co-organized EVALUTE 2010 Workshop at OOPSLA, EVALUATE 2011 Workshop at PLDI 2011 and EVALUATE 2012 at PLDI 2012.
- I have been on the following program committees: NPC 2015, OOPSLA 2014, ICPE 2013, ISPASS 2012, NPC 2011, ISPASS 2010, STCMS 2008, CGO 2005, OOPSLA 2001, VME 2000, OOPSLA 1998.
- I was the workshop chair for OOPSLA 2001, and the poster chair for OOPSLA 2000.
- I was on the steering committee for VEE 2005.