I am an assistant professor in Computer Science at NYU. Previously, I received my PhD from UC Berkeley where I was advised by Scott Shenker and worked in the NetSys Lab. Even earlier, I received a Sc.B. with honors in Math-CS from Brown.

My research interests lie in finding lightweight mechanisms for achieving correctness in systems (broadly defined). My dissertation looked at how to implement and execute network functions; and how to verify correctness for NFV (network function virtualization) deployments. A selection of past projects and publications can be found on this site.

Before starting at NYU, I spent a year as a software developer at Nefeli Networks, a startup focused on solutions for Network Function orchestration. Between Brown and Berkeley I spent a few years working on the Midori kernel at Microsoft.

Working with me

I am always interested in finding students to work with me. At present (late 2022) my main interests are in (a) checking that distributed systems are executing correctly (see here for a very high-level overview); (b) in programming frameworks that make it easier to offload logic to the operating system and SmartNICs (see Bertha, Kopi and Menshen below); (c) in enforcing richer polices in distributed applications; (d) in developing tools for debugging machine learning models and tooling (see our ICML paper on Enola); and (e) in debugging and reasoning about distributed applications. That said, I tend to work on any problem that seems interesting, and am happy to work outside of these areas.

Note that I cannot respond to most e-mails asking me to evaluate your application, and I suggest that you just apply.


Spring 2024 Distributed Systems
Fall 2023CS202: Undergraduate Operating Systems
Spring 2023 Big Data and Machine Learning
Fall 2022 Distributed Systems
Spring 2022 Big Data and Machine Learning
Fall 2021 Distributed Systems
Spring 2021 Big Data and Machine Learning
Fall 2020 Distributed Systems
Spring 2020 Undergraduate Operating Systems
Fall 2019 Undergraduate Computer Networks
Fall 2018 Distributed Systems