Read-Only Execution for Dynamic Languages

Abstract : Supportingread-onlyandsideeffectfreeexecutionhasbeenthefocus of a large body of work in the area of statically typed programming languages. Read-onlyness in dynamically typed languages is difficult to achieve because of the absence of a type checking phase and the support of an open-world assumption in which code can be constantly added and modified. To address this issue, we propose Dynamic Read-Only references (DRO) that provide a view on an object where this object and its object graph are protected from modification. The read- only view dynamically propagates to aggregated objects, without changing the object graph itself; it acts as a read-only view of complex data structures, without making them read-only globally. We implement dynamic read-only references by using smart object proxies that lazily propagate the read-only view, following the object graph and driven by control flow and applied them to realize side-effect free assertions.
Document type :
Conference papers
Complete list of metadatas

Cited literature [35 references]  Display  Hide  Download

https://hal.inria.fr/inria-00498377
Contributor : Lse Lse <>
Submitted on : Wednesday, July 7, 2010 - 2:14:19 PM
Last modification on : Thursday, February 21, 2019 - 10:52:50 AM
Long-term archiving on : Tuesday, October 23, 2012 - 10:05:55 AM

File

Arna10a-Tools2010-ReadOnlyExec...
Files produced by the author(s)

Identifiers

  • HAL Id : inria-00498377, version 1

Citation

Jean-Baptiste Arnaud, Marcus Denker, Stéphane Ducasse, Damien Pollet, Alexandre Bergel, et al.. Read-Only Execution for Dynamic Languages. TOOLS, Jun 2010, Malaga, Spain. ⟨inria-00498377⟩

Share

Metrics

Record views

450

Files downloads

802