Access Permission Contracts
The ideal software contract is a full specification of the behavior of an operation. Often, in particular in the context of scripting languages, a full specification can be cumbersome to state and may not even be desired. In such cases, a partial specification, which describes select aspects of the behavior, may be used to raise the confidence in an implementation of the operation to a reasonable level. The authors propose a novel style of contract for object-based languages that permits the partial specification of side effects. Specifically, their contract language attaches access permissions to functions and methods.