Reasoning About Staged Programs

Date
2010
Journal Title
Journal ISSN
Volume Title
Publisher
Abstract

This thesis establishes formal equational properties of multi-stage calculi and related proof techniques that support analyses of staged programs. A key promise of staging is to make programs efficient without destroying clarity, thereby reducing the likelihood of bugs. However, few publications rigorously verify that their staged programs indeed behave as intended. In fact, little is known about how staged programs can be verified, or what correctness issues staging introduces. To solve this problem, I show a reduction of the correctness of a staged program to that of an unstaged program. This reduction not only clarifies the effects of staging on program behavior but also eases verification, as unstaged programs are more susceptible to existing reasoning techniques. I also demonstrate that important single-stage reasoning techniques apply to staged programs. These techniques are useful for establishing side conditions for the reduction and for discovering or validating further reasoning principles.

Description
Degree
Master of Science
Type
Thesis
Keywords
Staging, Multi-stage programming, Formal semantics, Equational theory, Formal verification, Functional programming
Citation

Inoue, Jun. "Reasoning About Staged Programs." (2010) Master’s Thesis, Rice University. https://hdl.handle.net/1911/64204.

Has part(s)
Forms part of
Published Version
Rights
Copyright is held by the author, unless otherwise indicated. Permission to reuse, publish, or reproduce the work beyond the bounds of fair use or other exemptions to copyright law must be obtained from the copyright holder.
Link to license
Citable link to this page