An equational framework for the flow analysis of higher order functional programs

  • Authors:
  • Dan Stefanescu;Yuli Zhou

  • Affiliations:
  • 105, Aiken Computation Laboratory, Harvard University, 33 Oxford St, Cambridge, MA;NE43-253, MIT Lab for Computer Science, 545 Technology square, Cambridge, MA

  • Venue:
  • LFP '94 Proceedings of the 1994 ACM conference on LISP and functional programming
  • Year:
  • 1994

Quantified Score

Hi-index 0.00

Visualization

Abstract

We present a simple method for the general flow analysis of high-order functional programs. The method computes an abstraction of the program's runtime environment via a system of monotonic equations. As the environment can grow unbounded, we exploit patterns in the program's control structure (i.e., the call-tree) to determine some static partition of the environment, and merge points in the environment belonging to the same equivalent-class. High order functions are handled by embedding control information into closures. The method is proven correct with respect to a rewriting system based operational semantics. Various implementation issues are also considered.