Handles: Behavior-Propagating First Class References For Dynamically-Typed Languages

Jean-Baptiste Arnaud 1 Stéphane Ducasse 1 Marcus Denker 1
1 RMOD - Analyses and Languages Constructs for Object-Oriented Application Evolution
LIFL - Laboratoire d'Informatique Fondamentale de Lille, Inria Lille - Nord Europe
Abstract : Controlling object graphs and giving specific semantics to references (such as read-only, own- ership, scoped sharing) has been the focus of a large body of research in the context of static type systems. Controlling references to single objects and to graphs of objects is essential to be able to build more secure systems, but is notoriously hard to achieve in absence of static type systems. In this article we embrace this challenge by proposing a solution to the following question: What is the underlying mechanism that can support the definition of properties (such as revocable, read-only, lent) at the reference level in the absence of a static type system? We present handles: first class references that propagate behavioral change dynamically to the object subgraph during program execution. In this article we describe handles and show how handles support the implementation of read-only references and revocable references. Handles have been fully implemented by modifying an existing virtual machine and we report their costs.
Document type :
Other publications
Complete list of metadatas

Cited literature [38 references]  Display  Hide  Download

https://hal.inria.fr/hal-00881865
Contributor : Lse Lse <>
Submitted on : Saturday, November 9, 2013 - 6:51:57 PM
Last modification on : Thursday, February 21, 2019 - 10:52:50 AM
Long-term archiving on : Monday, February 10, 2014 - 11:58:13 AM

File

Arna13b-Handles-ScienceOfCompu...
Publisher files allowed on an open archive

Identifiers

  • HAL Id : hal-00881865, version 1

Citation

Jean-Baptiste Arnaud, Stéphane Ducasse, Marcus Denker. Handles: Behavior-Propagating First Class References For Dynamically-Typed Languages. 2013. ⟨hal-00881865⟩

Share

Metrics

Record views

627

Files downloads

357