The Essence of JavaScript

10 years 7 months ago
The Essence of JavaScript
We reduce JavaScript to a core calculus structured as a small-step operational semantics. We present several peculiarities of the language and show that our calculus models them. We explicate the desugaring process that turns JavaScript programs into ones in the core. We demonstrate faithfulness to JavaScript using real-world test suites. Finally, we illustrate utility by defining a security property, implementing it as a type system on the core, and extending it to the full language. 1 The Need for Another JavaScript Semantics The growing use of JavaScript has created whole new technical and business models of program construction and deployment. JavaScript is a feature-rich language with many quirks, and these quirks are often exploited by security and privacy attacks. This is especially true in cases where JavaScript has a familiar syntax but an unconventional semantics. Due to its popularity and shortcomings, companies and researchers have tried to tame JavaScript via program anal...
Arjun Guha, Claudiu Saftoiu, Shriram Krishnamurthi
Added 19 Jul 2010
Updated 19 Jul 2010
Type Conference
Year 2010
Authors Arjun Guha, Claudiu Saftoiu, Shriram Krishnamurthi
Comments (0)