His research interests include runtime program generation, programming language design and semantics, static program analysis and transformation, software engineering and type theory.