He is interested in the implementation of programming languages and large-scale data management. His current research interests include applying program analysis and program synthesis techniques to help developers implement and optimize large software systems, and improving programming tools for end users across different domains. His previous work has focused on building tools to perform cross-layer optimization of data-intensive applications.