About Me

I am an Assistant Professor at Drexel University. 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, 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, and verification for operating systems kernels.

I'm looking for students at all levels (undergraduate and graduate) interested in working on rigorous approaches to improving software quality. If you're interested, see my page on Information for Prospective Students, and drop me an email.



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, the Solaris kernel group at Sun Microsystems, and have been both a full-time employee (before grad school) and intern (during grad school) with an operating system incubation group at Microsoft. Prior to joining Drexel I was a researcher (Senior Research Engineer) at Samsung Research America.