Program analyses used in compilers commonly use a transfer function (TF) to summarize the input/output behavior of a procedure or region, speeding convergence of analysis of the surrounding region or program. A partial transfer function (PTF) summarizes input/output behavior for only a subset of the possible inputs. In many cases, an exact characterization of input/output behavior is possible for the contexts occurring in a given program, even when a concise and exact total summary would not be feasible. In other cases, an approximate PTF can be used which, while not exact, is more precise than would be possible with a total approximation. As demonstrated by prior work in a flow- and context-sensitive pointer alias analysis, PTFs are effective in speeding the convergence of program analysis involving higher-order functions and complex transfer functions that cannot easily be summarized. This paper presents a formal definition of partial transfer functions and introduces a general framework that enables data flow systems with complex transfer functions to be decomposed into simpler partial transfer functions. This paper provides a foundation that will allow the further development of the PTF concept, as well as enabling application to many more program analyses.
CITATION STYLE
Murphy, B. R., & Lam, M. S. (2000). Program analysis with partial transfer functions. In Proceedings of the ACM SIGPLAN Symposium on Partial Evaluation and Semantics-Based Program Manipulation (pp. 94–103). ACM. https://doi.org/10.1145/328691.328703
Mendeley helps you to discover research relevant for your work.