His research focus is on programming language implementation, and in particular the performance of modern programming languages on modern architectures. He is interested in understanding, measuring and addressing the narrowing memory bottleneck, and the characteristics of modern languages and architectures that exacerbate this problem. His service includes program committees and external review committees such as ASPLOS, ISCA, OOPSLA, ISMM, VEE, and PLDI, and the program chair of ISMM 2008. He has led the development tools and benchmarks in wide use: the MMTk garbage collection toolkit and the DaCapo Java Benchmarks. He is on the Jikes RVM Steering committee and leads the DaCapo Benchmark Suite consortium.