Verifying Concurrent Programs by Controlling Alias Interference

dc.contributor.advisorErnst, Michael Den_US
dc.contributor.authorGordon, Colin Stebbinsen_US
dc.date.accessioned2014-10-13T16:51:17Z
dc.date.available2014-10-13T16:51:17Z
dc.date.issued2014-10-13
dc.date.submitted2014en_US
dc.descriptionThesis (Ph.D.)--University of Washington, 2014en_US
dc.description.abstractThis dissertation proposes a family of techniques for static verication of sequential and concurrent imperative programs by leveraging fine-grained characterizations of mutation. The key idea is that by attaching to each reference in a program (1) a restriction on mutations permitted using that reference, and (2) a characterization of possible interference through other aliases, a type system can reason about what properties are preserved by all mutations in a program. This thesis develops four variations on this idea: (1) We adapt reference immutability to support data-race-free concurrent programming. (2) We generalize reference immutability to rely-guarantee references, allowing two-state invariants to express usage restrictions between read-only and arbitrary mutation. (3) We extend rely-guarantee references to prove invariants and functional correctness of lock-free concurrent data structures. (4) We evaluate rely-guarantee references' utility for existing Haskell programs. Together these variations show that reasoning about aliasing and reasoning about concurrent (imperative) programs are the same fundamental challenge, and that by taking the right foundational approach to reasoning about sequential programs, the gap to reasoning about concurrent programs is signicantly reduceden_US
dc.embargo.termsOpen Accessen_US
dc.format.mimetypeapplication/pdfen_US
dc.identifier.otherGordon_washington_0250E_13660.pdfen_US
dc.identifier.urihttp://hdl.handle.net/1773/26020
dc.language.isoen_USen_US
dc.rightsCopyright is held by the individual authors.en_US
dc.subjectConcurrency; Program Verification; Rely-Guarantee Reasoning; Type Theoryen_US
dc.subject.otherComputer scienceen_US
dc.subject.othercomputer science and engineeringen_US
dc.titleVerifying Concurrent Programs by Controlling Alias Interferenceen_US
dc.typeThesisen_US

Files

Original bundle

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