2012
DOI: 10.1145/2398857.2384685
|View full text |Cite
|
Sign up to set email alerts
|

Chaperones and impersonators

Abstract: Chaperones and impersonators provide run-time support for interposing on primitive operations such as function calls, array access and update, and structure field access and update. Unlike most interposition support, chaperones and impersonators are restricted so that they constrain the behavior of the interposing code to reasonable interposition, which in practice preserves the abstraction mechanisms and reasoning that programmers and compiler analyses rely on.Chaperones and impersonators are particularly use… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
4
0

Year Published

2013
2013
2021
2021

Publication Types

Select...
3
2
1

Relationship

3
3

Authors

Journals

citations
Cited by 9 publications
(4 citation statements)
references
References 28 publications
0
4
0
Order By: Relevance
“…For specifications on objects (Strickland and Felleisen 2010), structures (Strickland et al 2012) or closures , the cost of checking contracts is non-local. The contract system defers checking until methods are called or fields are accessed, which happens after crossing the contract boundary.…”
Section: Contractsmentioning
confidence: 99%
“…For specifications on objects (Strickland and Felleisen 2010), structures (Strickland et al 2012) or closures , the cost of checking contracts is non-local. The contract system defers checking until methods are called or fields are accessed, which happens after crossing the contract boundary.…”
Section: Contractsmentioning
confidence: 99%
“…Object-capability-safe languages typically already have constructs that achieve complete and transparent mediation and interposition, e.g., membranes [10] in E and Caja. Recent research [7] explores the addition of such a feature to existing languages, and contract systems have been implemented using membrane-like constructs [19,31]. In addition, membranes have been used to equip Javascript objects with contracts for path-based access control for method invocation [32].…”
Section: B Implementing Capability Controlmentioning
confidence: 99%
“…While contracts for first-order values and methods require little support from the programming language or its implementation, higher-order contracts force language designers to think of contract specifications as borderlines between two parties [28].…”
Section: Racket Contracts a Refreshermentioning
confidence: 99%
“…Once contracted values have passed the tester's examination, the option contract wrapper-technically, a proxy value [28]-no longer checks any properties. Instead, it transparently stores the underlying contract with the value for future use, leaving dep-lexer/c inactive for now.…”
Section: Exercising and Waiving Optionsmentioning
confidence: 99%