About Me

I am an Assistant Professor in the Computer Science Department of Drexel University's College of Computing and Informatics. I am interested in finding new ways to improve software reliability, especially providing strong static guarantees about program behavior, for concurrent and systems-level code. My work has focused on formal verification of concurrent programs using static reference capabilities and effect systems, though I'm also interested in other levels of formal assurance, programming models, distributed computing, and even testing. Right now I'm working on theory and application of type systems for JavaScript, polymorphic effect systems, verification for operating systems kernels, and tools to connect natural language to machine language (code and formal specifications). See my publications page for more details.



Brief Bio

I completed my PhD (2014) and MS (2011) at the University of Washington, focusing on formal verification of concurrent programs, co-advised by Michael Ernst and Dan Grossman, with a lot of input from Matt Parkinson. I earned my ScB from Brown University in 2008, where I worked with Shriram Krishnamurthi and Maurice Herlihy. I've interned with NetApp's filesystem group and the Solaris kernel group at Sun Microsystems, and have been both a full-time employee (before grad school) and intern (during grad school) with the Midori operating system incubation group at Microsoft. Prior to joining Drexel I was a researcher (Senior Research Engineer) at Samsung Research America in the Advanced Programming Tools group.