Crary's research interests are in applying programming language technology to improve the development, maintenance, and performance of software systems. He is particularly interested in mechanization of the metatheory of programming languages, type-oriented compilation strategies, in type-based certification of machine code, and in the design of practical, high- or low-level programming languages.