Abstract
In this paper, we study two interprocedural program-analysis problems—interprocedural slicing and interprocedural dataflow analysis—and present the following results:
• Interprocedural slicing is log-space complete for ?.
• The problem of obtaining “meet-over-all-valid-paths” solutions to interprocedural versions of distributive dataflow-analysis problems is ?-hard.
• Obtaining “meet-over-all-valid-paths” solutions to interprocedural versions of distributive dataflow-analysis problems that involve finite sets of dataflow facts (such as the classical “gen/kill” problems) is log-space complete for ?.
These results provide evidence that there do not exist fast (??-class) parallel algorithms for interprocedural slicing and precise interprocedural dataflow analysis (unless ?=??). That is, it is unlikely that there are algorithms for interprocedural slicing and precise interprocedural dataflow analysis for which the number of processors is bounded by a polynomial in the size of the input, and whose running time is bounded by a polynomial in the logarithm of the size of the input. This suggests that there are limitations on the ability to use parallelism to overcome compiler bottlenecks due to expensive interprocedural-analysis computations.
Similar content being viewed by others
Author information
Authors and Affiliations
Additional information
Received February 21, 1994/August 7, 1995
Rights and permissions
About this article
Cite this article
Reps, T. On the sequential nature of interprocedural program-analysis problems. Acta Informatica 33, 739–757 (1996). https://doi.org/10.1007/s002360050068
Issue Date:
DOI: https://doi.org/10.1007/s002360050068