Research


Research Statement

For more detail than can be found below, please see my research statement.

Uniquely Represented Data Structures, with Applications

My Ph.D. Thesis: read the abstract or download the whole dissertation (PDF, 2.3 MB).

My thesis work provides the theoretical foundation for efficient uniquely represented data structures. These data structures ensure that the memory layout of the data structure is a function of the logical state it is supposed to encode, rather than a function of the sequence of operations used to create it. Thus each logical state is encoded in a unique machine state. This opens up the possibility, for the first time, of efficient systems that store exactly the information that we ask them to store, and no more. Such systems would eliminate the potential for privacy and security violations enabled by the undesirable storage of extraneous information.

For example, my work provides the theoretical foundation for:

  1. A filesystem where deleting a file provably leaves no trace whatsoever that it ever existed.
  2. A voting machine that stores the set of voters who participated in an election, while provably storing no information about the order in which they voted.
  3. File formats that allow efficient updates while guaranteeing secure redaction of content and removal of history (to avoid embarrasing leaks, as discussed e.g., here, here, and here. )

These applications and more make use of the so-called strong history-independence property of uniquely represented data structures. There are also other applications I am currently looking into, that do not pertain directly to history-independence per se, for example in certifying that certain computations were run.

Online Algorithms, Approximation Algorithms, and Provably Good Ways to Deal with Uncertainty

Most of the research questions I like to work on are algorithmic. In fact, my interest in uniquely represented data structures began with a fundamentally algorithmic question. Thus much of my research concerns the development of approximation algorithms for NP-hard problems, online algorithms, and the combination of the two. Typically this work focuses on resource allocation problems, often in the presence of uncertainty. Please see my publications page for more information.

Recently I have been doing some work with Matthew Streeter fusing approximation algorithms for NP-hard problems with no-regret algorithms for online decision problems. I am very excited about this work. To see why, have a look at some of the resulting papers here, here, and here.