Welcome to the upgraded MacSphere! We're putting the finishing touches on it; if you notice anything amiss, email macsphere@mcmaster.ca

A Unifying Theory of Multi-Exit Programs

dc.contributor.advisorSekerinski, Emilen_US
dc.contributor.advisorWilliam M. Farmer and Ryszard Janickien_US
dc.contributor.authorZhang, Tianen_US
dc.contributor.departmentComputing and Softwareen_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.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.description.degreeDoctor of Philosophy (PhD)en_US
dc.identifier.otheropendissertations/8370en_US
dc.identifier.other9459en_US
dc.identifier.other4631385en_US
dc.identifier.urihttp://hdl.handle.net/11375/13534
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

Files

Original bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
fulltext.pdf
Size:
802.46 KB
Format:
Adobe Portable Document Format