TY - JOUR
T1 - A Survey of Dynamic Analysis and Test Generation for JavaScript
AU - Andreasen, Esben
AU - Gong, Liang
AU - Møller, Anders
AU - Pradel, Michael
AU - Selakovic, Marija
AU - Sen, Koushik
AU - Staicu, Cristian-Alexandru
PY - 2017/11/13
Y1 - 2017/11/13
N2 - 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 article surveys dynamic program analysis and test generation techniques for JavaScript targeted at improving the correctness, reliability, performance, security, and privacy of JavaScript-based software.
AB - 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 article surveys dynamic program analysis and test generation techniques for JavaScript targeted at improving the correctness, reliability, performance, security, and privacy of JavaScript-based software.
KW - Program analysis, dynamic languages, test generation
UR - http://www.scopus.com/inward/record.url?scp=85030684310&partnerID=8YFLogxK
U2 - 10.1145/3106739
DO - 10.1145/3106739
M3 - Journal article
SN - 0360-0300
VL - 50
SP - 66:1-66:36
JO - A C M Computing Surveys
JF - A C M Computing Surveys
IS - 5
M1 - 66
ER -