About Me

I'm a third year PhD student interested primarily in improving software reliability by providing guarantees of interesting and useful properties of programs. I'm particularly interested in applying these techniques to parallel programs, operating system kernels, language runtimes, and security-critical code. So I study programming languages. I'm part of the programming languages (WASP) and software engineering (UW SE) groups at UW.

I'm currently working with Michael Ernst and Dan Grossman on a capability type system to prevent deadlock. The system uses static capabilities that are available for duration of a lock acquisition, and permit the further acquisition of specific additional locks. We are also using a variation on unique references that permit strong updates to part of a type (for example, which capability allows a particular lock to be acquired) while allowing aliasing at a less complete type (for example, that the referent is a lock, which may still be acquired by a thread holding no other locks).

In the past I was an undergrad at Brown University. While I was there I worked with Shriram Krishnamurthi and the Brown PLT group on several programming language and program analysis projects. I also worked with Maurice Herlihy on software and hardware transactional memory. In between all those things I TAed a number of courses and did internships in NetApp's filesystem group and the Solaris kernel group at Sun. After finishing undergrad I spent a bit over a year working on an operating system incubation project at Microsoft before starting at UW CSE.

Publications

Refereed

Theses and Technical Reports

Patents

Unpublished Projects

Sadly not everything can make it to the presses.

Industry Experience

Honors

Teaching

Interesting Readings