Publications

2025

  • David Basin, Nate Foster, Kenneth McMillan, Kedar Namjoshi, Cristina Nita-Rotaru, Jonathan Smith, Pamela Zave, Lenore Zuck
    It Takes a Village: Bridging the Gaps between Current and Formal Specifications for Protocols
    CACM, August 2025
  • Charly Castes, François Costa, Neelu Kalani, Timothy Roscoe, Nate Foster, Thomas Bourgeat, Edouard Bugnion
    The Design and Implementation of a Virtual Firmware Monitor
    SOSP, October 2025
  • Charly Castes, François Costa, Nate Foster, Thomas Bourgeat, Edouard Bugnion
    Lightweight Hypervisor Verification: Putting the Hardware Burger on a Diet
    HotOS, May 2025
  • Jules Jacobs, Nate Foster, Tobias Kappé, Dexter Kozen, Lily Saada, Alexandra Silva, Jana Wagemaker
    StacKAT: Infinite State Network Verification
    PACMPL (PLDI), June 2025
  • Mark Moeller, Tiago Ferreira, Thomas Lu, Nate Foster, Alexandra Silva
    Active Learning of Symbolic NetKAT Automata
    PACMPL (PLDI), June 2025

2024

  • Andy Myers, Brian Nigito, Nate Foster
    Network Design Considerations for Trading Systems
    HotNets, November 2024
  • Eric Campbell, Hossein Hojjat, Nate Foster
    Computing Precise Control Interface Specifications
    PACMPL (OOPSLA 2), October 2024
  • Mark Moeller, Jules Jacobs, Oliver Bélanger, David Darais, Cole Schlesinger, Steffen Smolka, Nate Foster, Alexandra Silva
    KATch: A Fast Symbolic Verifier for NetKAT
    PACMPL (PLDI), June 2024

2023

  • Mark Moeller, Thomas Wiener, Alaia Solko-Brelin, Caleb Koch, Nate Foster, Alexandra Silva
    Automata Learning with an Incomplete Teacher
    ECOOP, July 2023
  • Anshuman Mohan, Yunhe Liu, Nate Foster, Tobias Kappé, Dexter Kozen
    Formal Abstractions for Packet Scheduling
    OOPSLA, October 2023 ★ Distinguished paper award
  • Fabian Ruffy, Jed Liu, Prathima Kotikalapudi, Vojtech Havel, Hanneli Tavante, Rob Sherwood, Vladyslav Dubina, Volodymyr Peschanenko, Anirudh Sivaraman, Nate Foster
    P4Testgen: An Extensible Test Oracle For P4-16
    SIGCOMM, September 2023
  • Sundararajan Renganathan, Benny Rubin, Hyojoon Kim, Pier Luigi Ventre, Carmelo Cascone, Daniele Moro, Charles Chan, Nick McKeown, Nate Foster
    Hydra: Effective Runtime Network Verification
    SIGCOMM, September 2023
  • Rudy Peterson, Eric Campbell, John Chen, Natalie Isak, Calvin Shyu, Ryan Doenges, Parisa Ataei, Nate Foster
    P4Cub: A Little Language for Big Routers
    CPP, January 2023

2022

  • Yunhe Liu, Nate Foster, Fred Schneider
    Causal Network Telemetry
    EuroP4, December 2022
  • Shrutarshi Basi, Nate Foster, James Grimmelman, James Grimmelman, Shan Parikh, Ryan Richardson
    A Programming Language for Future Interests
    YJoLT, November 2022
  • Ryan Donges, Tobias Kappé, John Sarracino, Nate Foster, Greg Morrisett
    Leapfrog: Certified Equivalence for Protocol Parsers
    PLDI, June 2022
  • Matthias Eichholz, Eric Campbell, Matthias Krebs, Nate Foster, Mira Mezini
    Dependently-Typed Data Plane Programming
    POPL, January 2022

2021

  • Eric Hayden Campbell, William T. Hallahan, Priya Srikumar, Carmelo Cascone, Jed Liu, Vignesh Ramamurthy, Hossein Hojjat, Ruzica Piskac, Robert Soulé, Nate Foster
    Avenir: Managing Data Plane Diversity with Control Plane Synthesis
    USENIX NSDI, April 2021
  • Ryan Doenges, Mina Tahmasbi Arashloo, Santiago Bautista, Alexander Chang, Newton Ni, Samwise Parkinson, Rudy Peterson, Alaia Solko-Breslin, Amanda Xu, Nate Foster
    Petr4: Formal Foundations for P4 Data Planes
    PACM (POPL), January 2021

2020

  • Nate Foster, Nick McKeown, Jennifer Rexford, Guru Parulkar, Larry Peterson, Oguz Sunay
    Using Deep Programmability to Put Network Owners in Control
    SIGCOMM CCR, October 2020
  • Theo Jepsen, Ali Fattaholmanan, Masoud Moshref, Nate Foster, Antonio Carzaniga, Robert Soule
    Forwarding and Routing with Packet Subscriptions
    CoNEXT, December 2020 ★ Best paper award
  • Hardik Soni, Myriana Rifai, Praveen Kumar, Ryan Doenges, Nate Foster
    Composing Dataplane Programs with μP4
    SIGCOMM, August 2020
  • Steffen Smolka, Nate Foster, Justin Hsu, Tobias Kappé, Dexter Kozen, Alexandra Silva
    Guarded Kleene Algebra with Tests: Verification of Uninterpreted Programs in Nearly Linear Time
    PACMPL (POPL), January 2020 ★ Distinguished paper award

2019

  • Christian Skalka, John Ring, David Darias, Minseok Kwon, Sahil Gupta, Kyle Diller, Steffen Smolka, Nate Foster
    Proof Carrying Network Code
    CCS, November 2019
  • Eugene Bagdasaryan, Griffin Berlstein, Jason Waterman, Eleanor Birrell, Nate Foster, Fred B. Schneider, Deborah Estrin
    Ancile: Enhancing Privacy for Ubiquitous Computing with Use-Based Privacy
    WPES, November 2019
  • Matthias Eichholz, Eric Campbell, Nate Foster, Guido Salvaneschi, Mira Mezini
    How to Avoid Making a Billion-Dollar Mistake: Type-Safe Data Plane Programming with SafeP4
    ECOOP, July 2019
  • Jonathan DiLorenzo, Kathryn Mancini, Kathleen Fisher, Nate Foster
    TxForest: A DSL for Concurrent Data Stores
    APLAS, December 2019
  • Praveen Kumar, Nandita Dukkipati, Nathan Lewis, Yi Cui, Yaogong Wang, Chonggang Li, Valas Valancius, Jake Adriaens, Steve Gribble, Nate Foster, Amin Vahdat
    PicNIC: Predictable Virtualized NIC
    SIGCOMM, August 2019 ★ Best student paper award
  • Steffen Smolka, Praveen Kumar, Nate Foster, Justin Hsu, Dexter Kozen, Alexandra Silva
    Scalable Verification of Probabilistic Networks
    PLDI, June 2019
  • Tom Magrino, Jed Liu, Nate Foster, Johannes Gehrke, Andrew C. Myers
    Efficient, Consistent Distributed Computation with Predictive Treaties
    EuroSys, March 2019

2018

  • Theo Jepsen, Masoud Moshref, Antonio Carzaniga, Nate Foster, Robert Soule
    Packet Subscriptions for Programmable ASICs
    HotNets, November 2018
  • Jed Liu, William Hallahan, Cole Schlesinger, Milad Sharif, Jeongkeun Lee, Robert Soule, Han Wang, Cualin Cacscaval, Nick McKeown, Nate Foster
    p4v: Practical Verification for Programmable Data Planes
    SIGCOMM, August 2018
  • Theo Jepsen, Masoud Moshref, Antonio Carzaniga, Nate Foster, Robert Soule
    Life in the Fast Lane: A Line-Rate Linear Road
    SOSR, March 2018
  • Praveen Kumar, Chris Yu, Yang Yuan, Nate Foster, Robert Kleinberg, Robert Soule
    YATES: Rapid Prototyping for Traffic Engineering Systems
    SOSR, March 2018
  • Praveen Kumar, Yang Yuan, Chris Yu, Nate Foster, Robert Kleinberg, Petr Lapukhov, Chiun Lin Lim, Robert Soule
    Semi-Oblivious Traffic Engineering: The Road Not Taken
    NSDI, April 2018
  • Xin Jin, Xiaozhou Li, Haoyu Zhang, Nate Foster, Jeongkeun Lee, Robert Soule, Changhoon Kim, Ion Stoica
    NetChain: Scale-Free Sub-RTT Coordination
    NSDI, April 2018

2017

  • Xin Jin, Xiaozhou Li, Haoyu Zhang, Robert Soule, Jeongkeun Lee, Nate Foster, Changhoon Kim, Ion Stoica
    NetCache: Balancing Key-Value Stores with Fast In-Network Caching
    SOSP, October 2017
  • Shrutarshi Basu, Nate Foster, Hossein Hojjat, Paparao Palacharla, Christian Skalka, Xi Wang
    Life on the Edge: Unraveling Policies into Configurations
    ANCS, May 2017
  • Han Wang, Robert Soulé, Huynh Tu Dang, Ki Suh Lee, Vishal Shrivastav, Nate Foster, Hakim Weatherspoon
    P4FPGA: A Rapid Prototyping Framework for P4
    SOSR, April 2017
  • Steffen Smolka, Praveen Kumar, Nate Foster, Dexter Kozen, Alexandra Silva
    Cantor Meets Scott: Semantic Foundations for Probabilistic Networks
    POPL, January 2017

2016

  • Jonathan DiLorenzo, Richard Zhang, Erin Menzies, Kathleen Fisher, Nate Foster
    Incremental Forest: A DSL for Efficiently Managing Filestores
    ACM SIGPLAN Conference on Object-Oriented Programming Languages, Systems, and Applications (OOPSLA), Amsterdam, Netherlands, October 2016
  • Hossein Hojjat, Phillip Reummer, Jedidiah McClurg, Pavol Cerny, Nate Foster
    Optimizing Horn Solvers for Network Repair
    FMCAD, October 2016
  • Pavol Cerny, Nate Foster, Nilesh Jagnik, Jedidiah McClurg
    Consistent Network Updates in Polynomial Time
    DISC, September 2016
  • Jedidiah McClurg, Hossein Hojjat, Nate Foster, Pavol Cerny
    Event-Driven Network Programming
    PLDI, June 2016
  • Karla Saur, Joseph Collard, Nate Foster, Arjun Guha, Laurent Vanbever, Michael Hicks
    Safe and Flexible Controller Upgrades for SDNs
    SOSR, March 2016
  • Haoxian Chen, Nate Foster, Jake Silverman, Michael Whittaker, Brandon Zhang, Rene Zhang
    Felix: Implementing Traffic Measurement on End Hosts Using Program Analysis
    SOSR, March 2016
  • Nate Foster, Dexter Kozen, Konstantinos Mamouras, Mark Reitblatt, Alexandra Silva
    Probabilistic NetKAT
    ESOP, April 2016

2015

  • Nikolaj Bjorner, Nate Foster, Philip Brighten Godfrey, Pamela Zave
    Formal Foundations for Networking (Dagstuhl Seminar 15071)
    Dagstuhl Reports 2015
  • Steffen Smolka, Spiridon Eliopoulos, Nate Foster, Arjun Guha
    A Fast Compiler for NetKAT
    ICFP, September 2015
  • Sudip Roy, Lucja Kot, Gabriel Bender, Bailu Ding, Hossein Hojjat, Christoph Koch, Nate Foster, Johannes Gehrke
    The Homeostasis Protocol: Avoiding Transaction Coordination Through Program Analysis
    SIGMOD, June 2015
  • Jedidiah McClurg, Hossein Hojjat, Pavol Cerny, Nate Foster
    Efficient Synthesis of Network Updates
    PLDI, June 2015
  • Nate Foster, Dexter Kozen, Mae Milano, Alexandra Silva, Laure Thompson
    A Coalgebraic Decision Procedure for NetKAT
    POPL, January 2015

2014

  • Robert Soul'e, Shrutarshi Basu, Parisa Jalili Marandi, Fernando Pedone, Robert Kleinberg, Emin Gun Sirer, Nate Foster
    Merlin: A Language for Provisioning Network Resources
    CoNEXT, December 2014
  • Martin Casado, Nate Foster, Arjun Guha
    Abstractions for Software-Defined Networks
    CACM, October 2014
  • Carolyn Jane Anderson, Nate Foster, Arjun Guha, Jean-Baptiste Jeannin, Dexter Kozen, Cole Schlesinger, David Walker
    NetKAT: Semantic Foundations for Networks
    POPL, January 2014

2013

  • Robert Soule, Shrutarshi Basu, Robert Kleinberg, Emin Gun Sirer, Nate Foster
    Managing the Network with Merlin
    HotNets, November 2013
  • Andrew Noyes, Todd Warszawski, Pavol Cerny, Nate Foster
    Toward Synthesis of Network Updates
    SYNT Workshop, July 2013
  • Laurent Vanbever, Joshua Reich, Theophilus Benson, Nate Foster, Jennifer Rexford
    HotSwap: Correct and Efficient Controller Upgrades for Software-Defined Networks
    HotSDN, August 2013
  • Mark Reitblatt, Marco Canini, Arjun Guha, Nate Foster
    FatTire: Declarative Fault Tolerance for Software-Defined Networks
    HotSDN, August 2013
  • Arjun Guha, Mark Reitblatt, Nate Foster
    Machine-Verified Network Controllers
    PLDI, June 2013
  • Christopher Monsanto, Joshua Reich, Nate Foster, Jennifer Rexford, David Walker
    Composing Software Defined Networks
    NSDI, April 2013 ★ Community award
  • Nate Foster, Arjun Guha, Mark Reitblatt, Alec Story, Michael J. Freedman, Naga Praveen Katta, Christopher Monsanto, Joshua Reich, Jennifer Rexford, Cole Schlesinger, David Walker, Rob Harrison
    Languages for software-defined networks
    IEEE Communications Magazine 2013

2012

  • Mark Reitblatt, Nate Foster, Jennifer Rexford, Cole Schlesinger, David Walker
    Abstractions for Network Update
    SIGCOMM, August 2012
  • Stephen Gutz, Alec Story, Cole Schlesinger, Nate Foster
    Splendid Isolation: A Slice Abstraction for Software-Defined Networks
    HotSDN, August 2012
  • Nate Foster, Kazutaka Matsuda, Janis Voigtlander
    Three Complementary Approaches to Bidirectional Programming
    Spring School on Generic and Indexed Programming (SSGIP), May 2012
  • Christopher Monsanto, Nate Foster, Rob Harrison, David Walker
    A Compiler and Run-time System for Network Programs
    POPL, January 2012
  • Stephen Magill, Christopher M. Hayden, Michael Hicks, Nate Foster, Jeffrey S. Foster
    Specifying and Verifying the Correctness of Dynamic Software Updates
    VSTTE, January 2012
  • Nate Foster, Michael J. Freedman, Rob Harrison, Christopher Monsanto, Mark Reitblatt, Jennifer Rexford, Alec Story, David Walker
    Language Abstractions for Software-Defined Networks
    LADA Workshop, January 2012
  • Lonnie Princehouse, Nate Foster, Ken Birman
    A Pairwise Abstraction for Round-Based Protocols
    LADA Workshop, January 2012

2011

  • Mark Reitblatt, Nate Foster, Jennifer Rexford, David Walker
    Consistent Updates for Software-Defined Networks: Change You Can Believe In!
    HotNets, November 2011
  • Nate Foster, Rob Harrison, Michael J. Freedman, Christopher Monsanto, Jennifer Rexford, Alec Story, David Walker
    Frenetic: A Network Programming Language
    ICFP, September 2011 ★ Most influential paper from ICFP 2011
  • Kathleen Fisher, Nate Foster, David Walker, Kenny Q. Zhu
    Forest: A Language and Toolkit for Programming With Filestores
    ICFP, September 2011

2010

  • Nate Foster, Rob Harrison, Matthew L. Meola, Michael J. Freedman, Jennifer Rexford, David Walker
    Frenetic: A High-Level Langauge for OpenFlow Networks
    PRESTO Workshop, November 2010
  • Davi M. J. Barbosa, Julien Cretin, Nate Foster, Michael Greenberg, Benjamin C. Pierce
    Matching Lenses: Alignment and View Update
    ICFP, September 2010

2009

  • John Nathan Foster
    Bidirectional Programming Languages
    PhD Dissertation, University of Pennsylvania, December 2009
  • James Cheney, Stephen Chong, Nate Foster, Margo Seltzer, Stijn Vansummeren
    Provenance: A Future History
    Onward!, October 2009
  • Krzysztof Czarnecki, J. Nathan Foster, Zhenjiang Hu, Ralf Lammel, Andy Schurr, James F. Terwilliger
    Bidirectional Transformations: A Cross-Discipline Perspective. GRACE Meeting notes, state of the art, and outlook
    ICMT, June 2009
  • J. Nathan Foster, Benjamin C. Pierce, Steve Zdancewic
    Updatable Security Views
    CSF, July 2009

2008

  • J. Nathan Foster, Todd J. Green, Val Tannen
    Annotated XML: Queries and Provenance
    PODS, June 2008
  • Aaron Bohannon, J. Nathan Foster, Benjamin C. Pierce, Alexandre Pilkiewicz, Alan Schmitt
    Boomerang: Resourceful Lenses for String Data
    POPL, January 2008
  • J. Nathan Foster, Alexandre Pilkiewcz, Benjamin C. Pierce
    Quotient Lenses
    ICFP, September 2008
  • Mary Fernandez, Kathleen Fisher, J. Nathan Foster, Michael Greenberg, Yitzhak Mandelbaum
    A Generic Programming Toolkit for PADS/ML: First-Class Upgrades for Third-Party Developers
    PADL, January 2008
  • J. Nathan Foster, Ravi Konuru, Jerome Simeon, Lionel Villard
    An Algebraic Approach to XQuery View Maintenance
    PLAN-X, January 2008
  • J. Nathan Foster, Benjamin C. Pierce
    Boomerang Programmer's Manual
    2008

2007

  • J. Nathan Foster, Grigoris Karvounarakis
    Provenance and Data Synchronization
    IEEE Data Engineering Bulletin, December 2007
  • J. Nathan Foster, Benjamin C. Pierce, Alan Schmitt
    A Logic Your Typechecker Can Count On: Unordered Tree Types in Practice
    PLAN-X, January 2007
  • J. Nathan Foster, Michael B. Greenwald, Christian Kirkegaard, Benjamin C. Pierce, Alan Schmitt
    Exploiting Schemas in Data Synchronization
    Journal of Computer and System Sciences, June 2007
  • J. Nathan Foster, Michael B. Greenwald, Jonathan T. Moore, Benjamin C. Pierce, Alan Schmitt
    Combinators for Bidirectional Tree Transformations: A Linguistic Approach to the View Update Problem
    TOPLAS, May 2007

2006

  • J. Nathan Foster
    Actions Louder Than Words? MSO-Definable Transductions
    Written Preliminary Exam II, UPenn CIS, November 2006
  • J. Nathan Foster, Dimitrios Vytiniotis
    A Theory of Featherweight Java in Isabelle/HOL
    Archive of Formal Proofs, April 2006
  • J. Nathan Foster, Benjamin C. Pierce, Alan Schmitt
    Harmony Programmer's Manual
    2006

2005

  • J. Nathan Foster
    Harmony: A Generic Synchronization Framework for Heterogeneous, Replicated Data
    , October 2005
  • J. Nathan Foster
    Exploiting Schemas in Data Synchronization
    , June 2005
  • Brian E. Aydemir, Aaron Bohannon, Matthew Fairbairn, J. Nathan Foster, Benjamin C. Pierce, Peter Sewell, Dimitrios Vytiniotis, Geoffrey Washburn, Stephanie Weirich, Steve Zdancewic
    Mechanized Metatheory for the Masses: The POPLmark Challenge
    TPHOLS, August 2005
  • J. Nathan Foster, Michael B. Greenwald, Jonathan T. Moore, Benjamin C. Pierce, Alan Schmitt
    Combinators for Bidirectional Tree Transformations: A Linguistic Approach to the View Update Problem
    POPL, Jan 2005 ★ Most influential paper from POPL 2005

2004

  • Kim B. Bruce, J. Nathan Foster
    LOOJ: Weaving LOOM into Java
    ECOOP, June 2004

2003

  • J. Nathan Foster
    Contexts, Boxes, and Names, Oh My!
    , November 2003
  • J N Foster
    Indexicals and Belief Reports
    MPhil Thesis, Cambridge History and Philosophy of Science and Medicine, June 2003

2002

  • John N Foster
    Model Checking for a Functional Hardware Description Language
    Tripos Dissertation, Cambridge Computer Laboratory, June 2002

2001

  • John N Foster
    Rupiah: Towards an Expressive Static Type System for Java
    Senior Honors Thesis, Williams Computer Science, June 2001