Behavioral Software Contracts

Date
2002-04-01
Journal Title
Journal ISSN
Volume Title
Publisher
Abstract

To sustain a market for software components, component producers and consumers must agree on contracts. These contracts must specify each party’s obligations. To ensure that both sides meet their obligations, they must also agree on standards for monitoring contracts and assigning blame for contract violations This dissertation explores these issues for contracts that specify the sequential behavior of methods and procedures as pre- and post-conditions. In the process, it makes three main contributions: First, this dissertation shows how existing contract checking systems for object- oriented languages incorrectly enforce contracts in the presence of subtyping. This dissertation shows how to check such contracts properly. Second, this dissertation shows how to enforce pre- and post-condition style contracts on higher-order procedures and correctly assign blame for contract violations in that context. Finally, this dissertation lays the groundwork for a theory of contract checking, in the spirit of the theory for type checking. In particular, it states and proves the firstsoundness result for contracts, guaranteeing that the contract checker properly en- forces contracts and properly assigns blame for contract violations.

Description
This work was also published as a Rice University thesis/dissertation: http://hdl.handle.net/1911/18078
Advisor
Degree
Type
Technical report
Keywords
Citation

Findler, Robert Bruce. "Behavioral Software Contracts." (2002) https://hdl.handle.net/1911/96305.

Has part(s)
Forms part of
Published Version
Rights
You are granted permission for the noncommercial reproduction, distribution, display, and performance of this technical report in any format, but this permission is only for a period of forty-five (45) days from the most recent time that you verified that this technical report is still available from the Computer Science Department of Rice University under terms that include this permission. All other rights are reserved by the author(s).
Link to license
Citable link to this page