Interprocedural data flow analysis in the presence of pointers, procedure variables, and label variables

  • Authors:
  • William E. Weihl

  • Affiliations:
  • IBM Thomas J. Watson Research Center, Yorktown Heights, New York

  • Venue:
  • POPL '80 Proceedings of the 7th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
  • Year:
  • 1980

Quantified Score

Hi-index 0.00

Visualization

Abstract

Interprocedural data flow analysis is complicated by the use of procedure and label variables in programs and by the presence of aliasing among variables. In this paper we present an algorithm for computing possible values for procedure and label variables, thus providing a call graph and a control flow graph. The algorithm also computes the possible aliasing relationships in the program being analyzed.We assume that control flow information is not available to the algorithm; hence, this type of analysis may be termed "flow-free analysis." Given this assumption, we demonstrate the correctness of the algorithm, in the sense that the information it produces is conservative, and show that it is as precise as possible in certain cases. We also show that the problem of determining possible values for procedure variables is P-space hard. This fact indicates that any algorithm which is precise in all cases must also run very slowly for some programs.