Cornell University
Library
Cornell UniversityLibrary

eCommons

Help
Log In(current)
  1. Home
  2. Cornell University Graduate School
  3. Cornell Theses and Dissertations
  4. A (Co)algebraic Approach to Programming and Verifying Computer Networks

A (Co)algebraic Approach to Programming and Verifying Computer Networks

File(s)
Smolka_cornellgrad_0058F_11762.pdf (5.74 MB)
Permanent Link(s)
https://doi.org/10.7298/1dpd-c128
https://hdl.handle.net/1813/70019
Collections
Cornell Theses and Dissertations
Author
Smolka, Steffen Juilf
Abstract

As computer networks have grown into some of the most complex and critical computing systems today, the means of configuring them have not kept up: they remain manual, low-level, and ad-hoc. This makes network operations expensive and network outages due to misconfigurations commonplace. The thesis of this dissertation is that high-level programming languages and formal methods can make network configuration dramatically easier and more reliable. The dissertation consists of three parts. In the first part, we develop algorithms for compiling a network programming language with high-level abstractions to low-level network configurations, and introduce a symbolic data structure that makes compilation efficient in practice. In the second part, we develop foundations for a probabilistic network programming language using measure and domain theory, showing that continuity can be exploited to approximate (statistics of) packet distributions algorithmically. Based on this foundation and the theory of Markov chains, we then design a network verification tool that can reason about fault-tolerance and other probabilistic properties, scaling to data-center-size networks. In the third part, we introduce a general-purpose (co)algebraic framework for designing and reasoning about programming languages, and show that it permits an almost linear-time decision procedure for program equivalence. We hope that the framework will serve as a foundation for efficient verification tools, for networks and beyond, in the future.

Description
316 pages
Date Issued
2019-12
Keywords
coalgebra
•
compilers
•
domain-specific programming languages
•
Kleene Algebra
•
software defined networking
•
verification
Committee Chair
Foster, Nate
Committee Member
Kozen, Dexter Campbell
Kleinberg, Robert David
Degree Discipline
Computer Science
Degree Name
Ph. D., Computer Science
Degree Level
Doctor of Philosophy
Rights
Attribution-NoDerivatives 4.0 International
Rights URI
https://creativecommons.org/licenses/by-nd/4.0/
Type
dissertation or thesis
Link(s) to Catalog Record
https://newcatalog.library.cornell.edu/catalog/13119678

Site Statistics | Help

About eCommons | Policies | Terms of use | Contact Us

copyright © 2002-2026 Cornell University Library | Privacy | Web Accessibility Assistance