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
LINA - Laboratoire d'Informatique de Nantes Atlantique, Département informatique - EMN, Inria Rennes – Bretagne 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.
Document type :
Preprints, Working Papers, ...
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 : Wednesday, December 5, 2018 - 1:22:12 AM
Long-term archiving on : 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