PLDI 2024
Mon 24 - Fri 28 June 2024 Copenhagen, Denmark
Fri 28 Jun 2024 11:40 - 12:00 at Sweden - Program Analysis 1 Chair(s): Jens Palsberg

Static program analysis for JavaScript is more difficult than for many other programming languages. One of the main reasons is the presence of dynamic property accesses that read and write object properties via dynamically computed property names. To ensure scalability and precision, existing state-of-the-art analyses for JavaScript mostly ignore these operations although it results in missed call edges and aliasing relations. We present a novel dynamic analysis technique named approximate interpretation that is designed to efficiently and fully automatically infer likely determinate facts about dynamic property accesses, in particular those that occur in complex library API initialization code, and how to use the produced information in static analysis to recover much of the abstract information that is otherwise missed.

Our implementation of the technique and experiments on 141 real-world Node.js-based JavaScript applications and libraries show that the approach leads to significant improvements in call graph construction. On average the use of approximate interpretation leads to 55.1% more call edges, 21.8% more reachable functions, 17.7% more resolved call sites, and only 1.5% fewer monomorphic call sites. For 36 JavaScript projects where dynamic call graphs are available, average analysis recall is improved from 75.9% to 88.1% with a negligible reduction in precision.

Fri 28 Jun

Displayed time zone: Windhoek change

10:40 - 12:20
Program Analysis 1PLDI Research Papers at Sweden
Chair(s): Jens Palsberg University of California, Los Angeles (UCLA)
10:40
20m
Talk
[TOPLAS] Interactive Abstract Interpretation with Demanded Summarization
PLDI Research Papers
Benno Stein SkipLabs, Bor-Yuh Evan Chang University of Colorado Boulder & Amazon, Manu Sridharan University of California at Riverside
DOI
11:00
20m
Talk
Efficient Static Vulnerability Analysis for JavaScript with Multiversion Dependency Graphs
PLDI Research Papers
Mafalda Ferreira INESC-ID / Instituto Superior Técnico, Universidade de Lisboa, Miguel Monteiro INESC-ID and Universidade de Lisboa, Tiago Brito INESC-ID and Universidade de Lisboa, Miguel E. Coimbra INESC-ID and Universidade de Lisboa, Nuno Santos INESC-ID / Instituto Superior Tecnico, University of Lisbon, Limin Jia , José Fragoso Santos INESC-ID/Instituto Superior Técnico, Portugal
DOI Pre-print
11:20
20m
Talk
Floating-Point TVPI Abstract DomainRemote
PLDI Research Papers
Joao Rivera ETH Zurich, Franz Franchetti Carnegie Mellon University, USA, Markus Püschel ETH Zurich
DOI
11:40
20m
Talk
Reducing Static Analysis Unsoundness with Approximate Interpretation
PLDI Research Papers
Mathias Rud Laursen Aarhus University, Wenyuan Xu Aarhus University, Anders Møller Aarhus University
DOI
12:00
20m
Talk
Falcon: A Scalable Analytical Cache Model
PLDI Research Papers
Arjun Pitchanathan University of Edinburgh, Kunwar Grover AMD, Tobias Grosser University of Cambridge, UK
DOI