Interests

My research interests include programming languages, distributed systems, and security. I enjoy building languages and systems with high-level abstractions for secure distributed computation.

Projects

Fabric is a decentralized system for securely storing, sharing and computing on persistent data. It has a high-level programming language, based on Jif, that supports distributed computation, transactions, and fine-grained security policies on data. Programmers are presented with a single-system view of all Fabric resources.

My thesis advisor is Andrew Myers.

Previous projects

  • A framework for building web applications that are secure by construction. Applications are written in Jif, a Java-based language with information security policies. Using these policies, the compiler automatically partitions the code into JavaScript that runs on the browser and Java code that runs on the server.
  • A Java extension with abstract iterable pattern matching and interruptible iterators.
  • A network-visualisation tool that gives an animated real-time view of the network’s traffic.
  • An extended version of Java that supports bounded parametric polymorphism.