The Essence of JavaScript

Arjun Guha, Claudiu Saftoiu, and Shriram Krishnamurthi
European Conference on Object Oriented Programming (ECOOP), 2010

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.

PDF available on arXiv Slides

  @inproceedings{guha:js,
    author = "Arjun Guha and Claudiu Saftoiu and Shriram Krishnamurthi",
    title = "The Essence of {JavaScript}",
    year = 2010,
    booktitle = "European Conference on Object-Oriented Programming (ECOOP)"
  }