Inproceedings,

Precise Interprocedural Dataflow Analysis via Graph Reachability

, , and .
Proceedings of the 22Nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, page 49--61. New York, NY, USA, ACM, (1995)
DOI: 10.1145/199448.199462

Abstract

The paper shows how a large class of interprocedural dataflow-analysis problems can be solved precisely in polynomial time by transforming them into a special kind of graph-reachability problem. The only restrictions are that the set of dataflow facts must be a finite set, and that the dataflow functions must distribute over the confluence operator (either union or intersection). This class of probable problems includes—but is not limited to—the classical separable problems (also known as “gen/kill” or “bit-vector” problems)—e.g., reaching definitions, available expressions, and live variables. In addition, the class of problems that our techniques handle includes many non-separable problems, including truly-live variables, copy constant propagation, and possibly-uninitialized variables.Results are reported from a preliminary experimental study of C programs (for the problem of finding possibly-uninitialized variables).

Tags

Users

  • @jil

Comments and Reviews