Read-only execution for dynamic languages

  • Authors:
  • Jean-Baptiste Arnaud;Marcus Denker;Stéphane Ducasse;Damien Pollet;Alexandre Bergel;Mathieu Suen

  • Affiliations:
  • INRIA Lille Nord Europe, CNRS UMR, University of Lille;INRIA Lille Nord Europe, CNRS UMR, University of Lille;INRIA Lille Nord Europe, CNRS UMR, University of Lille;INRIA Lille Nord Europe, CNRS UMR, University of Lille;PLEIAD Lab, Department of Computer Science, University of Chile, Santiago, Chile;-

  • Venue:
  • TOOLS'10 Proceedings of the 48th international conference on Objects, models, components, patterns
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

Supporting read-only and side effect free execution has been the focus 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.