He is interested in tools and techniques for building, understanding, and ensuring reliable computational systems. His techniques target using novel ways of interacting with the programmer to design more precise and practical program analyses. He joined the CU-Boulder faculty in 2009 after receiving his Ph.D. in 2008 from the University of California Berkeley and his B.S. in 2002 from Carnegie Mellon University. He is a recipient of an NSF CAREER award (2010).