Ongoing Projects

Feel free to ask team members about ongoing projects. I will not attempt to make a list here because research works in flux. In general, before assigning a project, I like to brainstorm with potential collaborators and establish common ground and excitement. For a list of general current directions, see the list on In addition, our list of publications gives an idea of recent and past work. See also our partial list of code. Finally class projects from CS252R are a good initial source for research projects. See this fall's offering.

Open Projects

In addition, we have some specific openings on ongoing projects. If you're interested in any of these, please contact me.

  • Self-Optimizing Network Functions (joint with Minlan Yu)
  • Programming Microfluidics (joint with Saman Amarasinghe)
  • Staging (joint with Tiark Rompf, joint call with Saman Amarasinghe)
  • Dafny visualization (joint with Rustan Leino)
  • Hoare's Geometric Theory of Program Testing (join with Sir Tony Hoare)
  • Proving Decentralized Applications Secure (joint with François-René Rideau)

Supervised Projects

at Harvard

at Cambridge, UK

  • Michael Buch (co-supervised with Alan Mycroft), “Collapsing Heterogenous Towers of Interpreters”

  • Yan Han (co-supervised with Neel Krishnaswami), “Analyzing Music with Prefix Trees”

  • Niall Engan, “A Domain-Specific Language for Image Processing Pipelines”

at EPFL, Switzerland