He currently focuses on securing various attack surfaces on the Web. With collaborators and students, he has created several influential systems: DrRacket (programming environment), Margrave (access control policy analyzer), FrTime and Flapjax (reactive programming languages), and Lambda-JS and Typed JavaScript (semantics and types for JavaScript). He is a co-author of “How to Design Programs” and author of “Programming Languages: Application and Interpretation”. He coordinates the Program by Design and Bootstrap outreach programs. He holds an NSF CAREER Award and Brown’s Henry Merritt Wriston Fellowship for distinguished contribution to undergraduate education, and has authored twelve papers recognized by program committees.