Research interests

It is too hard to build trustworthy software systems using conventional systems APIs. I work on higher-level, language-based abstractions for programming that better address important cross-cutting concerns: security, extensibility, persistence, distribution.

Selected recent publications

A system and language that provides a higher-level abstraction for building secure distributed systems.

A new language mechanism that supports type-safe extension and evolution of complex software systems.

A type system enforces sound object initialization, including cyclic data structures. The end of null-pointer exceptions?

Conventional measures of quantitative information flow are based on uncertainty, but accuracy is a better basis.

The first implemented voting system that offers universal verifiability and coercion resistance.

[Undergraduate and MEng research opportunities]

Awards

Current Projects

Older Projects

Courses