Compositional and Automated Verification of Distributed Systems

dc.contributor.advisorTatlock, Zachary
dc.contributor.authorWilcox, James Rasmussen
dc.date.accessioned2021-10-29T16:19:59Z
dc.date.available2021-10-29T16:19:59Z
dc.date.issued2021-10-29
dc.date.submitted2021
dc.descriptionThesis (Ph.D.)--University of Washington, 2021
dc.description.abstractDistributed systems provide the backbone for modern computer systems,from cloud computing to air-traffic control. These complex systems execute concurrently in unreliable environments and are expected to tolerate various faults. Such environments are notoriously difficult to adequately model with testing, but because of the critical importance of these systems, it is essential that they are correct. It thus makes sense to turn to more rigorous methods of ensuring correctness, such as formal verification. Applying formal methods is not a panacea, however, due to the complexity of the systems involved. It is not uncommon, e.g., for a distributed file system to coordinate thousands of machines using a combination of several different protocols to ensure consistency, fault tolerance, and high performance. Verifying such a system requires breaking the problem down into individually verifiable parts, and leveraging automation whenever possible. This dissertation describes programming languages techniques forverifying distributed systems compositionally and automatically. First, we present Verdi, a framework for verifying distributed systems that reasons about fault tolerance mechanisms as transformers between fault models. Second, we detail DiSeL, a concurrent separation logic for distributed systems whose key insight is to treat the network as analogous to the heap in sequential programming. Finally, we report on mypyvy, a domain-specific language for symbolic transition systems in first-order logic, which supports a variety of automated reasoning tools to analyze systems.
dc.embargo.termsOpen Access
dc.format.mimetypeapplication/pdf
dc.identifier.otherWilcox_washington_0250E_22816.pdf
dc.identifier.urihttp://hdl.handle.net/1773/47988
dc.language.isoen_US
dc.rightsCC BY
dc.subject
dc.subjectComputer science
dc.subject.otherComputer science and engineering
dc.titleCompositional and Automated Verification of Distributed Systems
dc.typeThesis

Files

Original bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
Wilcox_washington_0250E_22816.pdf
Size:
4.78 MB
Format:
Adobe Portable Document Format