2009
DOI: 10.1007/978-3-642-03237-0_17
|View full text |Cite
|
Sign up to set email alerts
|

Type Analysis for JavaScript

Abstract: Abstract. JavaScript is the main scripting language for Web browsers, and it is essential to modern Web applications. Programmers have started using it for writing complex applications, but there is still little tool support available during development. We present a static program analysis infrastructure that can infer detailed and sound type information for JavaScript programs using abstract interpretation. The analysis is designed to support the full language as defined in the ECMAScript standard, including… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

0
256
0
3

Year Published

2011
2011
2023
2023

Publication Types

Select...
5
3
1

Relationship

2
7

Authors

Journals

citations
Cited by 305 publications
(259 citation statements)
references
References 24 publications
0
256
0
3
Order By: Relevance
“…They consider subtyping for objects based on implementation (a subtype must contain all members of its supertype), whereas we formulated equivalence between types based on having the same interface. Jensen et al describe a type analysis for JavaScript based on abstract interpretation, with the goal of checking for the absence of common programming errors, and to provide type information for program comprehension [15]. The abstract domain for TAJS is more complex than ours and models all possible primitive data types, while our approach focuses on object types.…”
Section: B Abstract Interpretation and Type Inference Of Javascriptmentioning
confidence: 99%
“…They consider subtyping for objects based on implementation (a subtype must contain all members of its supertype), whereas we formulated equivalence between types based on having the same interface. Jensen et al describe a type analysis for JavaScript based on abstract interpretation, with the goal of checking for the absence of common programming errors, and to provide type information for program comprehension [15]. The abstract domain for TAJS is more complex than ours and models all possible primitive data types, while our approach focuses on object types.…”
Section: B Abstract Interpretation and Type Inference Of Javascriptmentioning
confidence: 99%
“…JSConTest is inspired by, but complementary to work on type analysis for JavaScript [JMT09,HT10b,HT09]. The focus of these works is to determine the type safety of JavaScript programs by static analysis (abstract interpretation and constraintbased analysis, respectively).…”
Section: Related Workmentioning
confidence: 99%
“…Originally developed by Netscape as a scripting language for lightweight web programming, JavaScript has rapidly become one of the most widely used programming languages 3 for the web. Its popularity has greatly exceeded its primary target-client-side web programming for nonprofessionals-and the language is now routinely used to develop large applications, such as Google Docs and Google Maps, and even some critical software such as on-line banking.…”
Section: Introductionmentioning
confidence: 99%
“…The focus of most related approaches to JavaScript verification [1,3] is restricted to standard type analysis. In contrast, Javanni supports full functional correctness properties; to our knowledge, this kind of support is available only in another quite recent work based on separation logic [2].…”
Section: Introductionmentioning
confidence: 99%