2012
DOI: 10.1007/978-3-642-28869-2_11
|View full text |Cite
|
Sign up to set email alerts
|

Complete Monitors for Behavioral Contracts

Abstract: Abstract.A behavioral contract in a higher-order language may invoke methods of unknown objects. Although this expressive power allows programmers to formulate sophisticated contracts, it also poses a problem for language designers. Indeed, two distinct semantics have emerged for such method calls, dubbed lax and picky. While lax fails to protect components in certain scenarios, picky may blame an uninvolved party for a contract violation.In this paper, we present complete monitoring as the fundamental correct… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
68
0

Year Published

2012
2012
2021
2021

Publication Types

Select...
5
3
1

Relationship

4
5

Authors

Journals

citations
Cited by 58 publications
(68 citation statements)
references
References 11 publications
(18 reference statements)
0
68
0
Order By: Relevance
“…The concepts most closely related to blame soundness are blame correctness Dimoulas et al [ , 2012 and blame safety Wadler andFindler [2009], Wadler [2015].…”
Section: Local Correctness Implies Blame Soundnessmentioning
confidence: 99%
See 1 more Smart Citation
“…The concepts most closely related to blame soundness are blame correctness Dimoulas et al [ , 2012 and blame safety Wadler andFindler [2009], Wadler [2015].…”
Section: Local Correctness Implies Blame Soundnessmentioning
confidence: 99%
“…Such design choices pose the question of whether a particular strategy is reasonable, i.e., if it assigns blames correctly. This problem has been addressed either by showing that principals that can be blamed have responsibility in a contract violation Dimoulas et al [ , 2012 or by providing a characterization of components that satisfy a given contract Blume and McAllester [2006], Findler and Blume [2006], . Given a semantics for contracts, contract satisfaction addresses the problem of showing that a contract system is sound and complete with respect to that semantics, i.e.…”
Section: Related Workmentioning
confidence: 99%
“…Our contract system satisfies complete monitoring [9], an important correctness criterion for contract systems. Complete monitoring guarantees that a contract system correctly assigns blame to components that violate their contracts and, crucially, that the contract system can interpose on all uses of a value in a component that did not create that value.…”
Section: Complete Monitoringmentioning
confidence: 99%
“…For the proof of soundness, we employ the usual progress and preservation technique [37]. For the soundness of types as contracts, we show that the contract system is a complete monitor [6], meaning components do not export their values without appropriate contract protection. Based on these two major steps, we finally show that typed components of mixed-type programs cannot be blamed for violations of type invariants.…”
Section: Type Soundness For Mixed Programsmentioning
confidence: 99%