Prayuj Pillai

Publication Date

Spring 2024

Degree Type

Master's Project

Degree Name

Master of Science in Computer Science (MSCS)


Computer Science

First Advisor

Thomas Austin

Second Advisor

Christopher J Pollett

Third Advisor

Fabio Di Troia


Narcissus, Echo, JavaScript, Taint Tracking, Information Flow Analysis


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.

Available for download on Thursday, May 22, 2025