Nate Foster

Nate Foster

Office: 432 Gates Hall
Phone: (607) 255-5210
Email: jnfoster[at]cs.cornell.edu

Journal Papers

Nikolaj Bjorner, Nate Foster, Philip Brighten Godfrey, and Pamela Zave. Formal Foundations for Networking (Dagstuhl Seminar 15071). Dagstuhl Reports, 5(2):44--63, 2015. [ DOI | http ]

Martin Casado, Nate Foster, and Arjun Guha. Abstractions for Software-Defined Networks. CACM, 57(10):86--95, October 2014. [ full version ]

Nate Foster, Arjun Guha, Mark Reitblatt, Alec Story, Michael J. Freedman, Naga Praveen Katta, Christopher Monsanto, Joshua Reich, Jennifer Rexford, Cole Schlesinger, David Walker, and Rob Harrison. Languages for software-defined networks. IEEE Communications Magazine, 51(2):128--134, 2013. [ pdf | official version ]

J. Nathan Foster, Michael B. Greenwald, Christian Kirkegaard, Benjamin C. Pierce, and Alan Schmitt. Exploiting Schemas in Data Synchronization. Journal of Computer and System Sciences, 73(4), June 2007. Short version in DBPL '05. [ conference version | full version | slides ]

J. Nathan Foster, Michael B. Greenwald, Jonathan T. Moore, Benjamin C. Pierce, and Alan Schmitt. Combinators for Bidirectional Tree Transformations: A Linguistic Approach to the View Update Problem. ACM Transactions on Programming Languages and Systems, 29(3), May 2007. Short version in POPL '05. [ conference version | full version | slides ]

Conference and Workshop Papers

Shrutarshi Basu, Nate Foster, Hossein Hojjat, Paparao Palacharla, Christian Skalka, and Xi Wang. Life on the Edge: Unraveling Policies into Configurations. In IEEE/ACM Symposium on Architectures for Networking and Communications Systems (ANCS), Beijing, China , May 2017.

Han Wang, Robert SoulĂ©, Huynh Tu Dang, Ki Suh Lee, Vishal Shrivastav, Nate Foster, and Hakim Weatherspoon. P4FPGA: A Rapid Prototyping Framework for P4. In ACM SIGCOMM Symposium on Software-Defined Networking Research (SOSR), Santa Clara, CA, April 2017. [ conference version ]

Steffen Smolka, Praveen Kumar, Nate Foster, Dexter Kozen, and Alexandra Silva. Cantor Meets Scott: Semantic Foundations for Probabilistic Networks. In ACM SIGPLAN--SIGACT Symposium on Principles of Programming Languages (POPL), Paris, France, January 2017. [ conference version ]

Jonathan DiLorenzo, Richard Zhang, Erin Menzies, Kathleen Fisher, and Nate Foster. Incremental Forest: A DSL for Efficiently Managing Filestores. In ACM SIGPLAN Conference on Object-Oriented Programming Languages, Systems, and Applications (OOPSLA), Amsterdam, Netherlands, October 2016. [ conference version ]

Hossein Hojjat, Phillip Reummer, Jedidiah McClurgh, Pavol Cerny, and Nate Foster. Optimizing Horn Solvers for Network Repair. In Formal Methods in Computer Aided Design (FMCAD), Mountain View, CA, USA, October 2016. [ conference version ]

Pavol Cerny, Nate Foster, Nilesh Jagnik, and Jedidiah McClurg. Consistent Network Updates in Polynomial Time. In International Symposium on Distributed Computing (DISC), Paris, France, September 2016. [ conference version ]

Jedidiah McClurg, Hossein Hojjat, Nate Foster, and Pavol Cerny. Event-Driven Network Programming. In ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), Santa Barbara, CA, June 2016. [ conference version ]

Nate Foster, Dexter Kozen, Konstantinos Mamouras, Mark Reitblatt, and Alexandra Silva. Probabilistic NetKAT. In European Symposium on Programming (ESOP), Eindhoven, Netherlands, April 2016. [ conference version ]

Karla Saur, Joseph Collard, Nate Foster, Arjun Guha, Laurent Vanbever, and Michael Hicks. Safe and Flexible Controller Upgrades for SDNs. In ACM SIGCOMM Symposium on Software-Defined Networking Research (SOSR), Santa Clara, CA, March 2016. [ conference version ]

Haoxian Chen, Nate Foster, Jake Silverman, Michael Whittaker, Brandon Zhang, and Rene Zhang. Felix: Implementing Traffic Measurement on End Hosts Using Program Analysis. In ACM SIGCOMM Symposium on Software-Defined Networking Research (SOSR), Santa Clara, CA, March 2016. [ conference version ]

Steffen Smolka, Spiridon Eliopoulos, Nate Foster, and Arjun Guha. A Fast Compiler for NetKAT. In ACM SIGPLAN International Conference on Functional Programming (ICFP), Vancouver, BC, September 2015. [ conference version ]

Jedidiah McClurg, Hossein Hojjat, Pavol Cerny, and Nate Foster. Efficient Synthesis of Network Updates. In ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), Portland, OR, June 2015. [ conference version ]

Nate Foster, Dexter Kozen, Matthew Milano, Alexandra Silva, and Laure Thompson. A Coalgebraic Decision Procedure for NetKAT. In ACM SIGPLAN--SIGACT Symposium on Principles of Programming Languages (POPL), Mumbai, India, January 2015. [ conference version ]

Robert Soulé, Shrutarshi Basu, Parisa Jalili Marandi, Fernando Pedone, Robert Kleinberg, Emin Gün Sirer, and Nate Foster. Merlin: A Language for Provisioning Network Resources. In ACM SIGCOMM Conference on emerging Networking EXperiments and Technologies (CONEXT), Sydney, Australia, December 2014. [ conference version ]

Carolyn Jane Anderson, Nate Foster, Arjun Guha, Jean-Baptiste Jeannin, Dexter Kozen, Cole Schlesinger, and David Walker. NetKAT: Semantic Foundations for Networks. In ACM SIGPLAN--SIGACT Symposium on Principles of Programming Languages (POPL), San Diego, CA, January 2014. To appear. [ tech report | conference version ]

Robert Soulé, Shrutarshi Basu, Robert Kleinberg, Emin Gün Sirer, and Nate Foster. Managing the Network with Merlin. In ACM SIGCOMM Workshop on Hot Topics in Networks (HotNets), College Park, MD, November 2013. To appear. [ conference version ]

Laurent Vanbever, Joshua Reich, Theophilus Benson, Nate Foster, and Jennifer Rexford. HotSwap: Correct and Efficient Controller Upgrades for Software-Defined Networks. In ACM SIGCOMM Workshop on Hot Topics in Software Defined Networking (HotSDN), Hong Kong, China, August 2013. To appear. [ conference version ]

Mark Reitblatt, Marco Canini, Arjun Guha, and Nate Foster. FatTire: Declarative Fault Tolerance for Software-Defined Networks. In ACM SIGCOMM Workshop on Hot Topics in Software Defined Networking (HotSDN), Hong Kong, China, August 2013. To appear. [ conference version ]

Andrew Noyes, Todd War, Pavol Černý, and Nate Foster. Toward Synthesis of Network Updates. In Workshop on Synthesis (SYNT), St Petersburg, Russia, July 2013. [ conference version ]

Arjun Guha, Mark Reitblatt, and Nate Foster. Machine-Verified Network Controllers. In ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), Seattle, WA, June 2013. To appear. [ conference version ]

Christopher Monsanto, Joshua Reich, Nate Foster, Jennifer Rexford, and David Walker. Composing Software Defined Networks. In USENIX Symposium on Networked Systems Design and Implementation (NSDI), Lombard, IL, April 2013. [ conference version ]

Mark Reitblatt, Nate Foster, Jennifer Rexford, Cole Schlesinger, and David Walker. Abstractions for Network Update. In ACM SIGCOMM Conference on Applications, Technologies, Architectures, and Protocols for Computer Communications (SIGCOMM), Helsinki, Finland, pages 323--334, August 2012. [ conference version ]

Stephen Gutz, Alec Story, Cole Schlesinger, and Nate Foster. Splendid Isolation: A Slice Abstraction for Software-Defined Networks. In ACM SIGCOMM Workshop on Hot Topics in Software Defined Networking (HotSDN), Helsinki, Finland, pages 79--84, August 2012. [ conference version ]

Christopher Monsanto, Nate Foster, Rob Harrison, and David Walker. A Compiler and Run-time System for Network Programs. In ACM SIGPLAN--SIGACT Symposium on Principles of Programming Languages (POPL), Philadelphia, PA, pages 217--230, January 2012. [ conference version ]

Stephen Magill, Christopher M. Hayden, Michael Hicks, Nate Foster, and Jeffrey S. Foster. Specifying and Verifying the Correctness of Dynamic Software Updates. In International Conference on Verified Software: Theories, Tools, Experiments (VSTTE), Philadelphia, PA, volume 7152 of Lecture Notes in Computer Science, pages 278--293. Springer-Verlag, January 2012. [ conference version ]

Nate Foster, Michael J. Freedman, Rob Harrison, Christopher Monsanto, Mark Reitblatt, Jennifer Rexford, Alec Story, and David Walker. Language Abstractions for Software-Defined Networks. In Workshop on Languages for Distributed Algorithms (LADA), Philadelphia, PA, January 2012. [ conference version ]

Lonnie Princehouse, Nate Foster, and Ken Birman. A Pairwise Abstraction for Round-Based Protocols. In Workshop on Languages for Distributed Algorithms (LADA), Philadelphia, PA, January 2012. [ conference version ]

Mark Reitblatt, Nate Foster, Jennifer Rexford, and David Walker. Consistent Updates for Software-Defined Networks: Change You Can Believe In! In ACM SIGCOMM Workshop on Hot Topics in Networks (HotNets), Cambridge, MA, page 7, November 2011. [ conference version ]

Nate Foster, Rob Harrison, Michael J. Freedman, Christopher Monsanto, Jennifer Rexford, Alec Story, and David Walker. Frenetic: A Network Programming Language. In ACM SIGPLAN International Conference on Functional Programming (ICFP), Tokyo, Japan, pages 279--291, September 2011. [ conference version ]

Kathleen Fisher, Nate Foster, David Walker, and Kenny Q. Zhu. Forest: A Language and Toolkit for Programming With Filestores. In ACM SIGPLAN International Conference on Functional Programming (ICFP), Tokyo, Japan, pages 292--306, September 2011. [ conference version ]

Nate Foster, Rob Harrison, Matthew L. Meola, Michael J. Freedman, Jennifer Rexford, and David Walker. Frenetic: A High-Level Langauge for OpenFlow Networks. In ACM Workshop on Programmable Routers for Extensible Services of Tomorrow (PRESTO), Philadelphia, PA, page 6, November 2010. [ conference version ]

Davi M. J. Barbosa, Julien Cretin, Nate Foster, Michael Greenberg, and Benjamin C. Pierce. Matching Lenses: Alignment and View Update. In ACM SIGPLAN International Conference on Functional Programming (ICFP), Baltimore, MD, pages 193--204, September 2010. [ conference version | slides ]

James Cheney, Stephen Chong, Nate Foster, Margo Seltzer, and Stijn Vansummeren. Provenance: A Future History. In Onward! (An OOPSLA conference), pages 957--964, October 2009. [ conference version ]

J. Nathan Foster, Benjamin C. Pierce, and Steve Zdancewic. Updatable Security Views. In IEEE Computer Security Foundations Symposium (CSF), Port Jefferson, NY, July 2009. [ conference version | slides ]

J. Nathan Foster, Alexandre Pilkiewcz, and Benjamin C. Pierce. Quotient Lenses. In ACM SIGPLAN International Conference on Functional Programming (ICFP), Victoria, BC, pages 383--395, September 2008. [ conference version | slides ]

J. Nathan Foster, Todd J. Green, and Val Tannen. Annotated XML: Queries and Provenance. In ACM SIGACT--SIGMOD--SIGART Symposium on Principles of Database Systems (PODS), Vancouver, BC, pages 271--280, June 2008. [ conference version ]

Aaron Bohannon, J. Nathan Foster, Benjamin C. Pierce, Alexandre Pilkiewicz, and Alan Schmitt. Boomerang: Resourceful Lenses for String Data. In ACM SIGPLAN--SIGACT Symposium on Principles of Programming Languages (POPL), San Francisco, CA, pages 407--419, January 2008. [ tech report | conference version | slides ]

Mary Fernandez, Kathleen Fisher, J. Nathan Foster, Michael Greenberg, and Yitzhak Mandelbaum. A Generic Programming Toolkit for PADS/ML: First-Class Upgrades for Third-Party Developers. In Symposium on Practical Aspects of Declarative Languages (PADL), San Francisco, CA, pages 133--149, January 2008. [ conference version ]

J. Nathan Foster, Ravi Konuru, Jerome Simeon, and Lionel Villard. An Algebraic Approach to XQuery View Maintenance. In ACM SIGPLAN Workshop on Programming Language Technologies for XML (PLAN-X), San Francisco, CA, page 31, January 2008. [ short version | slides ]

J. Nathan Foster, Benjamin C. Pierce, and Alan Schmitt. A Logic Your Typechecker Can Count On: Unordered Tree Types in Practice. In ACM SIGPLAN Workshop on Programming Language Technologies for XML (PLAN-X), Nice, France, pages 80--90, January 2007. [ conference version | slides ]

Brian E. Aydemir, Aaron Bohannon, Matthew Fairbairn, J. Nathan Foster, Benjamin C. Pierce, Peter Sewell, Dimitrios Vytiniotis, Geoffrey Washburn, Stephanie Weirich, and Steve Zdancewic. Mechanized Metatheory for the Masses: The POPLmark Challenge. In International Conference on Theorem Proving in Higher Order Logics (TPHOLS), Oxford, UK, August 2005. [ conference version ]

Kim B. Bruce and J. Nathan Foster. LOOJ: Weaving LOOM into Java. In European Conference on Object-Oriented Programming (ECOOP), Oslo, Norway, volume 3086 of Lecture Notes in Computer Science, pages 389--413. Springer-Verlag, June 2004. [ conference version | slides ]

Invited Papers

Nate Foster, Kazutaka Matsuda, and Janis Voigtländer. Three Complementary Approaches to Bidirectional Programming. In International Spring School on Generic and Indexed Programming (SSGIP), Oxford, UK, pages 1--46, May 2012. Invited paper. [ conference version ]

Krzysztof Czarnecki, J. Nathan Foster, Zhenjiang Hu, Ralf Lämmel, Andy Schürr, and James F. Terwilliger. Bidirectional Transformations: A Cross-Discipline Perspective. GRACE Meeting notes, state of the art, and outlook. In International Conference on Model Transformations (ICMT), Zurich, Switzerland, pages 260--283, June 2009. Invited paper. [ conference version ]

J. Nathan Foster and Grigoris Karvounarakis. Provenance and Data Synchronization. IEEE Data Engineering Bulletin, 30(4):13--21, December 2007. Invited paper for special issue on provenance. [ short version ]

J. Nathan Foster and Dimitrios Vytiniotis. A Theory of Featherweight Java in Isabelle/HOL. April 2006. [ source code | short version | full version ]

Theses

John Nathan Foster. Bidirectional Programming Languages. PhD thesis, University of Pennsylvania, December 2009. [ book | tech report | slides ]

J N Foster. Indexicals and Belief Reports. MPhil dissertation, Department of History and Philosophy of Science, University of Cambridge, Cambridge, UK, June 2003. [ pdf ]

John N Foster. Model Checking for a Functional Hardware Description Language. Tripos dissertation, Computer Laboratory, University of Cambridge, Cambridge, UK, June 2002. [ pdf ]

John N Foster. Rupiah: Towards an Expressive Static Type System for Java. Senior honors thesis, Department of Computer Science, Williams College, Williamstown, MA, June 2001. [ pdf ]


Copyright

These documents are included by the contributing authors to ensure timely dissemination of scholarly and technical work on a non-commercial basis. Copyright and all rights therein are maintained by the authors or by other copyright holders. All persons copying this information must adhere to the terms and constraints invoked by each author's copyright. These works may not be reposted without the explicit permission of the copyright holder.

Validate XHTML Validate CSS
Last updated January 2012