On the complexity of flow-sensitive dataflow analyses
- 5 January 2000
- conference paper
- Published by Association for Computing Machinery (ACM)
Abstract
This paper attempts to address the question of why certain dataflow analysis problems can be solved efficiently, but not others. We focus on flow-sensitive analyses, and give a simple and general result that shows that analyses that require the use of relational attributes for precision must be PSPACE-hard in general. We then show that if the language constructs are slightly strengthened to allow a computation to maintain a very limited summary of what happens along an execution path, inter-procedural analyses become EXPTIME-hard. We discuss applications of our results to a variety of analyses discussed in the literature. Our work elucidates the reasons behind the complexity results given by a number of authors, improves on a number of such complexity results, and exposes conceptual commonalities underlying such results that are not readily apparent otherwise.Keywords
This publication has 9 references indexed in Scilit:
- Program analysis via graph reachabilityInformation and Software Technology, 1998
- Interprocedural def-use associations for C systems with single level pointersIEEE Transactions on Software Engineering, 1994
- Undecidability of static analysisACM Letters on Programming Languages and Systems, 1992
- Bounded fixed point iterationPublished by Association for Computing Machinery (ACM) ,1992
- Pointer-induced aliasing: a problem taxonomyPublished by Association for Computing Machinery (ACM) ,1991
- A precise inter-procedural data flow algorithmPublished by Association for Computing Machinery (ACM) ,1981
- AlternationJournal of the ACM, 1981
- Alternating pushdown automataPublished by Institute of Electrical and Electronics Engineers (IEEE) ,1978
- A practical interprocedural data flow analysis algorithmCommunications of the ACM, 1978