A Practical Framework for Demand-Driven Interprocedural Data Flow Analysis

67Citations
Citations of this article
37Readers
Mendeley users who have this article in their library.

Abstract

The high cost and growing importance of interprocedural data flow analysis have led to an increased interest in demand-driven algorithms. In this article, we present a general framework for developing demand-driven interprocedural data flow analyzers and report our experience in evaluating the performance of this approach. A demand for data flow information is modeled as a set of queries. The framework includes a generic demand-driven algorithm that determines the response to a query by iteratively applying a system of query propagation rules. The propagation rules yield precise responses for the class of distributive finite data flow problems. We also describe a two-phase framework variation to accurately handle nondistributive problems. A performance evaluation of our demand-driven approach is presented for two data flow problems, namely, reaching-definitions and copy constant propagation. Our experiments show that demand-driven analysis performs well in practice, reducing both time and space requirements when compared with exhaustive analysis.

Cite

CITATION STYLE

APA

Duesterwald, E., Gupta, R., & Soffa, M. L. (1997). A Practical Framework for Demand-Driven Interprocedural Data Flow Analysis. ACM Transactions on Programming Languages and Systems, 19(6), 992–1030. https://doi.org/10.1145/267959.269970

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free