2017
DOI: 10.1145/3106739
|View full text |Cite
|
Sign up to set email alerts
|

A Survey of Dynamic Analysis and Test Generation for JavaScript

Abstract: JavaScript has become one of the most prevalent programming languages. Unfortunately, some of the unique properties that contribute to this popularity also make JavaScript programs prone to errors and difficult for program analyses to reason about. These properties include the highly dynamic nature of the language, a set of unusual language features, a lack of encapsulation mechanisms, and the "no crash" philosophy. This paper surveys dynamic program analysis and test generation techniques for JavaScript targe… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
46
0

Year Published

2018
2018
2021
2021

Publication Types

Select...
3
2
2

Relationship

0
7

Authors

Journals

citations
Cited by 65 publications
(51 citation statements)
references
References 109 publications
(106 reference statements)
0
46
0
Order By: Relevance
“…Dynamic symbolic execution is used by Milani Fard et al [35] to generate DOM-based [37] present Atusa, a test generation technique for Ajax-based applications which they evaluate on six web applications. A comprehensive survey of dynamic analysis and test generation for JavaScript is presented by Andreasen et al [38].…”
Section: B Other Analysis and Testing Studies For Javascriptmentioning
confidence: 99%
“…Dynamic symbolic execution is used by Milani Fard et al [35] to generate DOM-based [37] present Atusa, a test generation technique for Ajax-based applications which they evaluate on six web applications. A comprehensive survey of dynamic analysis and test generation for JavaScript is presented by Andreasen et al [38].…”
Section: B Other Analysis and Testing Studies For Javascriptmentioning
confidence: 99%
“…This work is licensed under a Creative Commons Attribution International 4.0 License. present; (2) we define the JSIL symbolic semantics by lifting the JSIL instrumented semantics; and (3) we link the JSIL symbolic semantics to the JSIL concrete semantics by describing the frames that can be safely added to the initial state. The key innovation is to have the instrumented semantics as a proper interim stage in the design of the symbolic execution, obtaining more modular reasoning and substantially simpler proofs.…”
Section: :1mentioning
confidence: 99%
“…When running Cosette on this test, if the validKey(k) function was implemented incorrectly, 3 we will obtain the counter-model k = "hasOwnProperty". To understand this error, recall the heap and the implementation of get from Figure 1.…”
Section: Whole-program Symbolic Testingmentioning
confidence: 99%
See 2 more Smart Citations