Show simple item record

Automating the Verification of Distributed Systems

dc.contributor.authorMa, Haojun
dc.date.accessioned2023-01-30T16:12:17Z
dc.date.available2023-01-30T16:12:17Z
dc.date.issued2022
dc.date.submitted2022
dc.identifier.urihttps://hdl.handle.net/2027.42/175663
dc.description.abstractDesigning 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.isoen_US
dc.subjectFormal Verification
dc.subjectDistributed System
dc.subjectProof Generation
dc.titleAutomating the Verification of Distributed Systems
dc.typeThesis
dc.description.thesisdegreenamePhDen_US
dc.description.thesisdegreedisciplineComputer Science & Engineering
dc.description.thesisdegreegrantorUniversity of Michigan, Horace H. Rackham School of Graduate Studies
dc.contributor.committeememberKapritsos, Manos
dc.contributor.committeememberJeannin, Jean-Baptiste
dc.contributor.committeememberLorch, Jacob
dc.contributor.committeememberWeimer, Westley R
dc.subject.hlbsecondlevelComputer Science
dc.subject.hlbtoplevelEngineering
dc.description.bitstreamurlhttp://deepblue.lib.umich.edu/bitstream/2027.42/175663/1/mahaojun_1.pdf
dc.identifier.doihttps://dx.doi.org/10.7302/6877
dc.identifier.orcid0000-0002-2155-4809
dc.identifier.name-orcidMa, Haojun; 0000-0002-2155-4809en_US
dc.working.doi10.7302/6877en
dc.owningcollnameDissertations and Theses (Ph.D. and Master's)


Files in this item

Show simple item record

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.