Affiliation:
1. The Johns Hopkins University
2. Swarthmore College, PA
Abstract
Developing accurate and efficient program analyses for languages with higher-order functions is known to be difficult. Here we define a new higher-order program analysis, Demand-Driven Program Analysis (DDPA), which extends well-known
demand-driven
lookup techniques found in first-order program analyses to higher-order programs.
This task presents several unique challenges to obtain good accuracy, including the need for a new method for demand-driven lookup of non-local variable values. DDPA is flow- and context-sensitive and provably polynomial-time. To efficiently implement DDPA, we develop a novel pushdown automaton metaprogramming framework, the Pushdown Reachability automaton. The analysis is formalized and proved sound, and an implementation is described.
Publisher
Association for Computing Machinery (ACM)
Cited by
6 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Story of Your Lazy Function’s Life: A Bidirectional Demand Semantics for Mechanized Cost Analysis of Lazy Programs;Proceedings of the ACM on Programming Languages;2024-08-15
2. A Pure Demand Operational Semantics with Applications to Program Analysis;Proceedings of the ACM on Programming Languages;2024-04-29
3. Trace-based control-flow analysis;Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation;2021-06-18
4. Unbound: Releasing Inequality’s Grip on Our Economy;Review of Radical Political Economics;2020-09-22
5. Higher-order demand-driven symbolic evaluation;Proceedings of the ACM on Programming Languages;2020-08-02