Explore a novel approach to lifting on-demand analysis to higher-order languages in this 23-minute conference talk from ACM SIGPLAN. Delve into the challenges of static analysis for large, industrial code bases, particularly in languages like JavaScript that heavily rely on higher-order features. Discover how the presenters bootstrap an on-demand call graph construction by leveraging a pair of on-demand data flow analyses. Learn about the limitations of traditional whole-program call graph construction algorithms and understand the key insight of applying existing on-demand data flow analyses to construct call graphs on demand. Examine the proposed soundness condition for on-demand analyses with respect to partial call graphs, and explore the formalization of the algorithm as an abstract domain combinator. Gain insights into the proof of soundness using Isabelle/HOL and review the evaluation of a prototype implementation for a subset of JavaScript using the Synchronized Push-Down Systems framework.
Overview
Syllabus
[SAS23] Lifting On-Demand Analysis to Higher-Order Languages
Taught by
ACM SIGPLAN