News

Research

My main area of interest is using static analysis and dynamic enforcement to protect and improve programs written in dynamic programming languages. In particular, my thesis research focused on extending contract systems like the one provided by Racket to protect language features like first-class classes, first-class modules, and values with mutable state. In addition, I worked with Sam Tobin-Hochstadt to add non-uniform variable-arity polymorphism to Typed Racket.

Currently, I'm working with Shriram Krishnamurthi and his group on developing and extending the dynamic checking, static checking, and testing systems of Pyret. My previous postdoc position involved developing dynamically checked type systems with Jeff Foster and Brianna Ren that describe the behavior of idiomatic programs and DSLs written in scripting languages like Ruby.