His research interests are in language design, domain-specific languages, type systems, functional programming, and visual languages. He has developed formal languages and domain-specific languages for representing and computing with variability, experimental game theory, causal modeling, and producing interactive explanations. His work has earned two Best Paper awards.