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

https://hal.archives-ouvertes.fr/hal-01181143
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

File

main.pdf
Files produced by the author(s)

Licence


Public Domain

Identifiers

  • HAL Id : hal-01181143, version 2

Citation

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

Share

Metrics

Record views

1038

Files downloads

200