Publication Date
Spring 2024
Degree Type
Master's Project
Degree Name
Master of Science in Computer Science (MSCS)
Department
Computer Science
First Advisor
Thomas Austin
Second Advisor
Christopher J Pollett
Third Advisor
Fabio Di Troia
Keywords
Narcissus, Echo, JavaScript, Taint Tracking, Information Flow Analysis
Abstract
Narcissus is a JavaScript interpreter written in JavaScript. While it is a good engine for experimenting with JavaScript’s design, it does not integrate easily into the browser. This project introduces ‘‘Echo’’, a browser add-on designed to execute Narcissus JavaScript files and scripts within web browsers. The project explores the performance of the Narcissus interpreter against native browser JavaScript engines and benchmarks the results, showcasing the trade-offs in running an experimental engine—the Narcissus interpreter—on the browser versus native JavaScript. Additionally, as a proof of concept, we implement taint tracking, a capability meant to boost security by preventing sensitive data from being corrupted. This builds on prior uses of Narcissus for security and language feature prototyping.
Recommended Citation
Pillai, Prayuj, "Echo: A browser extension that runs experimental JavaScript" (2024). Master's Projects. 1358.
DOI: https://doi.org/10.31979/etd.q5rb-6nef
https://scholarworks.sjsu.edu/etd_projects/1358