Abstract
Flow-driven higher-order inlining is blocked by free variables, yet current theories of environment analysis cannot reliably cope with multiply-bound variables. One of these, ΔCFA, is a promising theory based on stack change but is undermined by its finite-state model of the stack. We present Pushdown ΔCFA which takes a ΔCFA-approach to pushdown models of control flow and can cope with multiply-bound variables, even in the face of recursion.
- Norman Adams, David Kranz, Richard Kelsey, Jonathan Rees, Paul Hudak, and James Philbin. Orbit: An optimizing compiler for Scheme, volume 21. ACM, 1986. Google Scholar
Digital Library
- Lars Bergstrom, Matthew Fluet, Matthew Le, John Reppy, and Nora Sandler. Practical and effective higher-order optimizations. In Proceedings of the 19th ACM SIGPLAN International Conference on Functional Programming, ICFP ’14, pages 81–93. ACM, 2014. Google Scholar
Digital Library
- Patrick Cousot and Radhia Cousot. Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints. In 4th ACM Symposium on Principles of Programming Languages, pages 238–252. ACM, 1977. Google Scholar
Digital Library
- Christopher Earl, Matthew Might, and David Van Horn. Pushdown control-flow analysis of higher-order programs. In 2010 Workshop on Scheme and Functional Programming (Scheme 2010), Montreal, Quebec, Canada, August 2010.Google Scholar
- Kimball Germane and Matthew Might. A posteriori environment analysis via pushdown ∆CFA. Technical report, November 2016. http://kimball.germane.net/ germane2017pddeltacfa-techreport.pdf.Google Scholar
- Thomas Gilray, Steven Lyde, Michael D. Adams, Matthew Might, and David Van Horn. Pushdown control-flow analysis for free. In 43rd Annual ACM Symposium on Principles of Programming Languages, POPL ’16, pages 691–704, New York, NY, USA, 2016. ACM. Google Scholar
Digital Library
- James Ian Johnson and David Van Horn. Abstracting abstract control. In 10th ACM Symposium on Dynamic Languages, pages 11–22. ACM, 2014. Google Scholar
Digital Library
- Matthew Might. Environment Analysis of Higher-Order Languages. PhD thesis, June 2007. Google Scholar
Digital Library
- Matthew Might. Shape analysis in the absence of pointers and structure. In International Workshop on Verification, Model Checking, and Abstract Interpretation, pages 263–278. Springer, 2010. Google Scholar
Digital Library
- Matthew Might and Olin Shivers. Environment analysis via ∆CFA. In 33rd ACM Symposium on Principles of Programming Languages, POPL ’06, pages 127–140, New York, NY, USA, 2006. ACM. Google Scholar
Digital Library
- Matthew Might and Olin Shivers. Improving flow analyses via ΓCFA: Abstract garbage collection and counting. In Proceedings of the 11th ACM SIGPLAN International Conference on Functional Programming, ICFP ’06, pages 13–25, New York, NY, USA, 2006. ACM. Google Scholar
Digital Library
- Olin Shivers. Control flow analysis in scheme. In ACM 1998 Conference on Programming Language Design and Implementation, PLDI ’88, pages 164–174. ACM, 1988. Google Scholar
Digital Library
- Olin Shivers. Control-flow analysis of higher-order languages. PhD thesis, Carnegie Mellon University, 1991. Google Scholar
Digital Library
- Guy L Steele Jr. Rabbit: A compiler for scheme. Technical report, Technical Report AI-TR-474, Artificial Intelligence Laboratory, Massachusetts Institute of Technology, Cambridge, Massachusetts, 1978. Google Scholar
Digital Library
- Dimitrios Vardoulakis. Cfa2: pushdown flow analysis for higher-order languages. PhD thesis, Northeastern University Boston, 2012. Google Scholar
Digital Library
- Dimitrios Vardoulakis and Olin Shivers. CFA2: a context-free approach to control-flow analysis. In European Symposium on Programming, pages 570–589, 2010. Google Scholar
Digital Library
- Dimitrios Vardoulakis and Olin Shivers. Pushdown flow analysis of first-class control. In Proceedings of the 16th ACM SIGPLAN International Conference on Functional Programming, ICFP ’11, pages 69– 80. ACM, 2011. Google Scholar
Digital Library
Index Terms
A posteriori environment analysis with Pushdown Delta CFA
Recommendations
A posteriori environment analysis with Pushdown Delta CFA
POPL '17: Proceedings of the 44th ACM SIGPLAN Symposium on Principles of Programming LanguagesFlow-driven higher-order inlining is blocked by free variables, yet current theories of environment analysis cannot reliably cope with multiply-bound variables. One of these, ΔCFA, is a promising theory based on stack change but is undermined by its ...
Pushdown control-flow analysis for free
POPL '16Traditional control-flow analysis (CFA) for higher-order languages introduces spurious connections between callers and callees, and different invocations of a function may pollute each other's return flows. Recently, three distinct approaches have been ...
Pushdown control-flow analysis for free
POPL '16: Proceedings of the 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming LanguagesTraditional control-flow analysis (CFA) for higher-order languages introduces spurious connections between callers and callees, and different invocations of a function may pollute each other's return flows. Recently, three distinct approaches have been ...







Comments