Skip to Main content Skip to Navigation
Preprints, Working Papers, ...

Open Scope: A Pragmatic JavaScript Pattern for Modular Instrumentation

Florent Marchand de Kerchove 1, 2 Jacques Noyé 1, 2 Mario Südholt 2, 1
2 ASCOLA - Aspect and composition languages
Inria Rennes – Bretagne Atlantique , Département informatique - EMN, LINA - Laboratoire d'Informatique de Nantes Atlantique
Abstract : We report on our experience instrumenting Narcissus, a JavaScript interpreter written in JavaScript, to allow the dynamic deployment of dynamic program analyses. Instrumenting an interpreter is a cross-cutting change that can affect many parts of the interpreter source code. We propose a simple open scope pattern that minimizes the changes to the interpreter, while allowing us to implement program analyses in their own files, and to compose them dynamically. We apply our pattern to Narcissus using standard JavaScript features, and find that the gain in extensibility offsets a small loss in performance.
Complete list of metadatas

Cited literature [17 references]  Display  Hide  Download
Contributor : Florent Marchand de Kerchove <>
Submitted on : Monday, August 10, 2015 - 3:07:02 PM
Last modification on : Monday, January 27, 2020 - 11:30:35 AM
Document(s) archivé(s) le : Wednesday, November 11, 2015 - 10:25:22 AM


Files produced by the author(s)


Public Domain


  • HAL Id : hal-01181143, version 2


Florent Marchand de Kerchove, Jacques Noyé, Mario Südholt. Open Scope: A Pragmatic JavaScript Pattern for Modular Instrumentation. 2015. ⟨hal-01181143v2⟩



Record views


Files downloads