Analysis of JavaScript programs: Challenges and research trends

K Sun, S Ryu - ACM Computing Surveys (CSUR), 2017 - dl.acm.org
JavaScript has been a de facto standard language for client-side web programs, and now it
is expanding its territory to general purpose programs. In this article, we classify the client …

JSAI: A static analysis platform for JavaScript

V Kashyap, K Dewey, EA Kuefner, J Wagner… - Proceedings of the …, 2014 - dl.acm.org
JavaScript is used everywhere from the browser to the server, including desktops and
mobile devices. However, the current state of the art in JavaScript static analysis lags far …

Static analysis of event-driven Node. js JavaScript applications

M Madsen, F Tip, O Lhoták - ACM SIGPLAN Notices, 2015 - dl.acm.org
Many JavaScript programs are written in an event-driven style. In particular, in server-side
Node. js applications, operations involving sockets, streams, and files are typically …

Determinacy in static analysis for jQuery

E Andreasen, A Møller - Proceedings of the 2014 ACM International …, 2014 - dl.acm.org
Static analysis for JavaScript can potentially help programmers find errors early during
development. Although much progress has been made on analysis techniques, a major …

[图书][B] String analysis for software verification and security

T Bultan, F Yu, M Alkhalaf, A Aydin - 2017 - Springer
This monograph is mainly based on the research that has been conducted in the Verification
Laboratory at the University of California, Santa Barbara, in the last decade. String analysis …

Value Partitioning: A lightweight approach to relational static analysis for JavaScript

BB Nielsen, A Møller - 34th European Conference on Object …, 2020 - drops.dagstuhl.de
In static analysis of modern JavaScript libraries, relational analysis at key locations is critical
to provide sound and useful results. Prior work addresses this challenge by the use of …

Automatic analysis of open objects in dynamic language programs

A Cox, BYE Chang, X Rival - … SAS 2014, Munich, Germany, September 11 …, 2014 - Springer
In dynamic languages, objects are open–they support iteration over and dynamic
addition/deletion of their attributes. Open objects, because they have an unbounded number …

Simple and effective type check removal through lazy basic block versioning

M Chevalier-Boisvert, M Feeley - arXiv preprint arXiv:1411.0352, 2014 - arxiv.org
Dynamically typed programming languages such as JavaScript and Python defer type
checking to run time. In order to maximize performance, dynamic language VM …

Reasonably-most-general clients for JavaScript library analysis

EK Kristensen, A Møller - 2019 IEEE/ACM 41st International …, 2019 - ieeexplore.ieee.org
A well-known approach to statically analyze libraries without having access to their client
code is to model all possible clients abstractly using a most-general client. In dynamic …

Interprocedural type specialization of javascript programs without type analysis

M Chevalier-Boisvert, M Feeley - arXiv preprint arXiv:1511.02956, 2015 - arxiv.org
Dynamically typed programming languages such as Python and JavaScript defer type
checking to run time. VM implementations can improve performance by eliminating …