Towards First Class References as a Security Infrastructure in Dynamically-Typed Languages

Dynamically-typed object-oriented programming languages do not provide type information until runtime. Two of their main advantages are that they allow fast prototyping and integrating changes at runtime. The ability of dynamically-typed languages to support program changes at runtime and the lack of type information doom the classic security approaches to failure. Controlling references to single objects and to graphs of objects is essential to build secure systems. Existing approaches are commonly based on static type system and cannot be applied to dynamically-typed languages. This thesis argue that: In the context of dynamically-typed languages, reifying references, controlling behavior, and isolating state via such references, is a practical way to control references. This thesis makes five contributions: - We propose dynamic read-only objects (DRO) as one kind of adaptation of behavioral change at reference-level. - We generalize the DRO model to enable more generic behavioral changes. We extend the Pharo programming environment and language with Handles, that are first-class references with the ability to change the behavior of referenced objects. - We define Metahandle to offer flexibility and adaptability to controlled references. - We propose SHandle, an extension of the Handle model to isolate side effects at the level of references. - And finally, we formalize the Handles and SHandle models to represent and explain their semantics. As validation of our thesis we have implemented three approaches relevant to securing system using our model. In addition, as proof of concept we extended the Pharo virtual machine to support Handles, Metahandles and SHandles. Keyword: security, dynamically-typed languages, reflection, language design, first class reference, object-oriented programming.

Data and Resources

Additional Info

Field Value
Source https://theses.hal.science/tel-00808419
Author Arnaud, Jean-Baptiste
Maintainer CCSD
Last Updated May 11, 2026, 16:18 (UTC)
Created May 11, 2026, 16:18 (UTC)
Identifier tel-00808419
Language en
Rights https://about.hal.science/hal-authorisation-v1/
contributor Analyses and Languages Constructs for Object-Oriented Application Evolution (RMOD) ; Laboratoire d'Informatique Fondamentale de Lille (LIFL) ; Université de Lille, Sciences et Technologies-Institut National de Recherche en Informatique et en Automatique (Inria)-Université de Lille, Sciences Humaines et Sociales-Centre National de la Recherche Scientifique (CNRS)-Université de Lille, Sciences et Technologies-Institut National de Recherche en Informatique et en Automatique (Inria)-Université de Lille, Sciences Humaines et Sociales-Centre National de la Recherche Scientifique (CNRS)-Centre Inria de l'Université de Lille ; Institut National de Recherche en Informatique et en Automatique (Inria)
creator Arnaud, Jean-Baptiste
date 2013-02-18T00:00:00
harvest_object_id 15c79b9a-2ff0-49b0-b286-13611c7b6212
harvest_source_id 3374d638-d20b-4672-ba96-a23232d55657
harvest_source_title test moissonnage SELUNE
metadata_modified 2025-08-12T00:00:00
set_spec type:THESE