Proceedings of the 8th Symposium on Dynamic Languages 2012
DOI: 10.1145/2384577.2384579
|View full text |Cite
|
Sign up to set email alerts
|

A tested semantics for getters, setters, and eval in JavaScript

Abstract: We present S5, a semantics for the strict mode of the ECMAScript 5.1 (JavaScript) programming language. S5 shrinks the large source language into a manageable core through an implemented transformation. The resulting specification has been tested against realworld conformance suites for the language. This paper focuses on two aspects of S5: accessors (getters and setters) and eval. Since these features are complex and subtle in JavaScript, they warrant special study. Variations on both features are found in se… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
16
0

Year Published

2013
2013
2022
2022

Publication Types

Select...
5
3
1

Relationship

2
7

Authors

Journals

citations
Cited by 38 publications
(18 citation statements)
references
References 13 publications
0
16
0
Order By: Relevance
“…There is a rich landscape of IRs for JavaScript, broadly divided into two categories: (1) those for syntax-directed analyses, following the abstract syntax tree of the program, such as λ J S [Guha et al 2010], S5 [Politz et al 2012], and notJS [Kashyap et al 2014]; and (2) those for analyses based on the control-flow graph of the program, such as JSIR [Livshits 2014], WALA [Sridharan et al 2012] and the IR of TAJS [Andreasen and Mùller 2014;Jensen et al 2009]. SAFE [Lee et al 2012], an analysis framework for JavaScript, provides IRs in both categories.…”
Section: Related Workmentioning
confidence: 99%
“…There is a rich landscape of IRs for JavaScript, broadly divided into two categories: (1) those for syntax-directed analyses, following the abstract syntax tree of the program, such as λ J S [Guha et al 2010], S5 [Politz et al 2012], and notJS [Kashyap et al 2014]; and (2) those for analyses based on the control-flow graph of the program, such as JSIR [Livshits 2014], WALA [Sridharan et al 2012] and the IR of TAJS [Andreasen and Mùller 2014;Jensen et al 2009]. SAFE [Lee et al 2012], an analysis framework for JavaScript, provides IRs in both categories.…”
Section: Related Workmentioning
confidence: 99%
“…They target the Firefox implementation of ES3, and validate their semantics by testing it against the test262 and Mozilla test suites [18,42]. More recently, λJS has been extended to model the strict mode of ES5 [50], and an unpublished, small-scale Coq formalisation of λJS has been announced on the Brown PLT blog [51].…”
Section: Formal Javascript Specificationsmentioning
confidence: 99%
“…Even simple examples can produce very large output: for instance, in the JavaScript semantics S5 [2], console.log("Hello world") produces the output shown in Figure 2. This code blow-up can frustate attempts to understand the output and to subsequently debug programs that process it.…”
Section: Challengesmentioning
confidence: 99%