Automating the Verification of Distributed Systems
dc.contributor.author | Ma, Haojun | |
dc.date.accessioned | 2023-01-30T16:12:17Z | |
dc.date.available | 2023-01-30T16:12:17Z | |
dc.date.issued | 2022 | |
dc.date.submitted | 2022 | |
dc.identifier.uri | https://hdl.handle.net/2027.42/175663 | |
dc.description.abstract | Designing and implementing distributed systems correctly is a very challenging task. Tradition- ally, people use tests to find and resolve bugs in their systems. But this approach doesn’t scale to complex large systems, as there are too many possible interleaving of components. As a result, we still leave bugs in our systems. To build systems with strong correctness guarantees, formal verification has been successfully used to prove the correctness of distributed systems. Although some approaches successfully applied formal verification to distributed systems and proved the implementation correct, writing a proof for a complex distributed system still requires an ultimate understanding of both the system and the formal method. And these approaches take years of manual effort to write a proof. Thus, formal verification is still not ready for real-world distributed applications. In this dissertation, I aim to make formal verification more practical by reducing the manual effort required in writing a proof. I’ll first show how I can leverage the power of model checking to automatically verify a distributed protocol in I4. After that, we propose the use of encapsulation in Sift to combine the automation from I4 with refinement to scale automation to verification of real distributed implementations. Finally, to make our verified system more practical, I move my focus to high-performance implementations and propose Cruiser to automatically generate such an implementation and its refinement proof to simplify the effort for developers. | |
dc.language.iso | en_US | |
dc.subject | Formal Verification | |
dc.subject | Distributed System | |
dc.subject | Proof Generation | |
dc.title | Automating the Verification of Distributed Systems | |
dc.type | Thesis | |
dc.description.thesisdegreename | PhD | en_US |
dc.description.thesisdegreediscipline | Computer Science & Engineering | |
dc.description.thesisdegreegrantor | University of Michigan, Horace H. Rackham School of Graduate Studies | |
dc.contributor.committeemember | Kapritsos, Manos | |
dc.contributor.committeemember | Jeannin, Jean-Baptiste | |
dc.contributor.committeemember | Lorch, Jacob | |
dc.contributor.committeemember | Weimer, Westley R | |
dc.subject.hlbsecondlevel | Computer Science | |
dc.subject.hlbtoplevel | Engineering | |
dc.description.bitstreamurl | http://deepblue.lib.umich.edu/bitstream/2027.42/175663/1/mahaojun_1.pdf | |
dc.identifier.doi | https://dx.doi.org/10.7302/6877 | |
dc.identifier.orcid | 0000-0002-2155-4809 | |
dc.identifier.name-orcid | Ma, Haojun; 0000-0002-2155-4809 | en_US |
dc.working.doi | 10.7302/6877 | en |
dc.owningcollname | Dissertations and Theses (Ph.D. and Master's) |
Files in this item
Remediation of Harmful Language
The University of Michigan Library aims to describe library materials in a way that respects the people and communities who create, use, and are represented in our collections. Report harmful or offensive language in catalog records, finding aids, or elsewhere in our collections anonymously through our metadata feedback form. More information at Remediation of Harmful Language.
Accessibility
If you are unable to use this file in its current format, please select the Contact Us link and we can modify it to make it more accessible to you.