Skip navigation
  • Home
  • Browse
    • Communities
      & Collections
    • Browse Items by:
    • Publication Date
    • Author
    • Title
    • Subject
    • Department
  • Sign on to:
    • My MacSphere
    • Receive email
      updates
    • Edit Profile


McMaster University Home Page
  1. MacSphere
  2. Open Access Dissertations and Theses Community
  3. Open Access Dissertations and Theses
Please use this identifier to cite or link to this item: http://hdl.handle.net/11375/13534
Full metadata record
DC FieldValueLanguage
dc.contributor.advisorSekerinski, Emilen_US
dc.contributor.advisorWilliam M. Farmer and Ryszard Janickien_US
dc.contributor.authorZhang, Tianen_US
dc.date.accessioned2014-06-18T17:04:20Z-
dc.date.available2014-06-18T17:04:20Z-
dc.date.created2013-09-25en_US
dc.date.issued2013-10en_US
dc.identifier.otheropendissertations/8370en_US
dc.identifier.other9459en_US
dc.identifier.other4631385en_US
dc.identifier.urihttp://hdl.handle.net/11375/13534-
dc.description.abstract<p>Programs have multiple exits in the presence of certain control structures, e.g., exception handling and coroutines. These control structures offer flexible manipulations of control flow. However, their formalizations are overall specialized, which hinders reasoning about combinations of these control structures.</p> <p>In this thesis, we propose a unifying theory of multi-exit programs. We mechanically formalize the semantics of multi-exit programs as indexed predicate transformers, a generalization of predicate transformers by taking the tuple of postconditions on all exits as the parameter. We explore their algebraic properties and verification rules, then define a normal form for monotonic and for conjunctive indexed predicate transformers. We also propose a new notion of fail-safe correctness to model the category of programs that always maintain certain safe conditions when they fail, and a new notion of fail-safe refinement to express partiality in software development.</p> <p>For the indexed predicate transformer formalization, we illustrate its applications in three models of multi-exit control structures: the termination model of exception handling, the retry model of exception handling, and a coroutine model. Additionally, for the fail-safe correctness notion and the fail-safe refinement notion, we illustrate their applications in the termination model. Six design patterns in the termination model and one in the retry model are studied. All the verification rules and design patterns in the thesis have been formally checked by a verification tool.</p>en_US
dc.subjectFormalizationen_US
dc.subjectMulti-Exiten_US
dc.subjectException Handlingen_US
dc.subjectEiffelen_US
dc.subjectCoroutineen_US
dc.subjectTheory and Algorithmsen_US
dc.subjectTheory and Algorithmsen_US
dc.titleA Unifying Theory of Multi-Exit Programsen_US
dc.typethesisen_US
dc.contributor.departmentComputing and Softwareen_US
dc.description.degreeDoctor of Philosophy (PhD)en_US
Appears in Collections:Open Access Dissertations and Theses

Files in This Item:
File SizeFormat 
fulltext.pdf
Open Access
802.46 kBAdobe PDFView/Open
Show simple item record Statistics


Items in MacSphere are protected by copyright, with all rights reserved, unless otherwise indicated.

Sherman Centre for Digital Scholarship     McMaster University Libraries
©2022 McMaster University, 1280 Main Street West, Hamilton, Ontario L8S 4L8 | 905-525-9140 | Contact Us | Terms of Use & Privacy Policy | Feedback

Report Accessibility Issue