2006
DOI: 10.1017/s0956796806005971
|View full text |Cite
|
Sign up to set email alerts
|

Sound and complete models of contracts

Abstract: Even in statically typed languages it is useful to have certain invariants checked dynamically. Findler and Felleisen gave an algorithm for dynamically checking expressive higher-order types called contracts. They did not, however, give a semantics of contracts. The lack of a semantics makes it impossible to define and prove soundness and completeness of the checking algorithm. (Given a semantics, a sound checker never reports violations that do not exist under that semantics; a complete checker is – in princi… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
90
0

Year Published

2006
2006
2024
2024

Publication Types

Select...
4
2

Relationship

0
6

Authors

Journals

citations
Cited by 59 publications
(90 citation statements)
references
References 15 publications
0
90
0
Order By: Relevance
“…As this pattern is often seen in the construction of pre/-post contracts, an extension called dependent contracts was proposed [12] . Dependent contracts allow the argument values of a contracted function to be captured when the contracted function is applied in such a manner that it is accessible in the postcondition of the contract 3 . The canonical example of a dependent contract is a refinement of the sqrt contract.…”
Section: Dependent Contractsmentioning
confidence: 99%
See 2 more Smart Citations
“…As this pattern is often seen in the construction of pre/-post contracts, an extension called dependent contracts was proposed [12] . Dependent contracts allow the argument values of a contracted function to be captured when the contracted function is applied in such a manner that it is accessible in the postcondition of the contract 3 . The canonical example of a dependent contract is a refinement of the sqrt contract.…”
Section: Dependent Contractsmentioning
confidence: 99%
“…Dependent contracts thus fall into the category of contracts where a contract is assumed to be always correct. This was criticised by Blume and McAllester [3]. They extended the work on depended contracts so that the domain contract is enforced both in the precondition and in the postcondition of the dependent contract.…”
Section: Who Will Guard the Guards?mentioning
confidence: 99%
See 1 more Smart Citation
“…2. Blume and McAllester [1] propose an alternative picky semantics. According to their proposal, the contracts for f and fp prohibits their application to complex numbers, and their reuse catches contract-internal problems [6].…”
Section: Blame Correctness Is Not Enoughmentioning
confidence: 99%
“…Monitors carry three labels: k, l and j. 1 Labels are identifiers for the high-level components that make up a program. A monitor splits a program into three components, dubbed the contract parties: a server named k, a client named l, and a contract named j, which may coincide with k or l in a programming language.…”
Section: Beyond Blame Correctnessmentioning
confidence: 99%