Stack-Summarizing Control-Flow Analysis of Higher-Order Programs
Christopher Earl, Matthew Might, David Van Horn

TL;DR
This paper introduces a novel combined analysis method for higher-order programs that uses stack summaries to integrate abstract garbage collection with context-free analysis, improving precision in control-flow analysis.
Contribution
It presents the first direct product approach combining abstract garbage collection with context-free analysis using stack summaries to handle the stack visibility challenge.
Findings
Enhanced analysis precision for higher-order programs
Effective integration of garbage collection with control-flow analysis
Potential for improved static analysis tools
Abstract
Two sinks drain precision from higher-order flow analyses: (1) merging of argument values upon procedure call and (2) merging of return values upon procedure return. To combat the loss of precision, these two sinks have been addressed independently. In the case of procedure calls, abstract garbage collection reduces argument merging; while in the case of procedure returns, context-free approaches eliminate return value merging. It is natural to expect a combined analysis could enjoy the mutually beneficial interaction between the two approaches. The central contribution of this work is a direct product of abstract garbage collection with context-free analysis. The central challenge to overcome is the conflict between the core constraint of a pushdown system and the needs of garbage collection: a pushdown system can only see the top of the stack, yet garbage collection needs to see the…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsLogic, programming, and type systems · Parallel Computing and Optimization Techniques · Distributed systems and fault tolerance
