Abstract
Despite of the well-known state-explosion problem, certain simple but important data-flow analysis problems known as gen/kill problems can be solved efficiently and completely for parallel programs with a shared state [7],[6],[2],[3],[13]. This paper shows that, in all probabil- ity, these surprising results cannot be generalized to significantly larger classes of data-flow analysis problems.
More specifically, we study the complexity of detecting copy constants in parallel programs, a problem that may be seen as representing the next level of difficulty of data-flow problems beyond gen/kill problems. We show that already the intraprocedural problem for loop-free parallel programs is co-NP-complete and that the interprocedural problem is even PSPACE-hard.
Gen/kill problems are characterized by the fact that all transfer functions are of the form λx.(x ⋀ a) ⋁ b, where a; b are constants from the underlying lattice of data-flow facts.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
S. A. Cook. The complexity of theorem-proving procedures. In ACM STOC’71, pages 151–158, 1971.
J. Esparza and J. Knoop. An automata-theoretic approach to interprocedural data-flow analysis. In FOSSACS’ 99, LNCS 1578, pages 14–30. Springer, 1999.
J. Esparza and A. Podelski. Efficient algorithms for pre* and post* on interprocedural parallel flow graphs. In ACM POPL’2000, pages 1–11, 2000.
R. Giegerich, U. Möncke, and R. Wilhelm. Invariance of approximative semantics with respect to program transformations. In GI 11. Jahrestagung, Informatik Fachberichte 50, pages 1–10. Springer, 1981.
G. A. Kildall. A unified approach to global program optimization. In ACM POPL’73, pages 194–206, 1973.
J. Knoop. Parallel constant propagation. In Euro-Par’98, LNCS 1470, pages 445–455. Springer, 1998.
J. Knoop, B. Steffen, and J. Vollmer. Parallelism for free: Efficient and optimal bitvector analyses for parallel programs. ACM Transactions on Programming Languages and Systems, 18(3):268–299, 1996.
S. S. Muchnick. Advanced compiler design and implementation. Morgan Kaufmann Publishers, San Francisco, California, 1997.
R. Muth and S. Debray. On the complexity of flow-sensitive dataflow analysis. In ACM POPL’2000, pages 67–81, 2000.
C. H. Papadimitriou. Computational Complexity. Addison-Wesley, 1994.
G. Ramalingam. Context-sensitive synchronization-sensitive analysis is undecidable. Technical Report RC 21493, IBM T. J. Watson Research Center, 1999. To appear in TOPLAS.
J. R. Reif and H. R. Lewis. Symbolic evaluation and the global value graph. In ACM POPL’77, pages 104–118, 1977.
H. Seidl and B. Steffen. Constraint-based interprocedural analysis of parallel programs. In ESOP’2000, LNCS 1782, pages 351–365. Springer, 2000.
R. N. Taylor. Complexity of analyzing the synchronization structure of concurrent programs. Acta Informatica, 19:57–84, 1983.
F. Tip. A survey of program slicing techniques. Journal of Programming Languages, 3:121–181, 1995.
M. Weiser. Program slicing. IEEE Transactions on Software Engineering, SE-10(4):352–357, 1984.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2001 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Müller-Olm, M. (2001). The Complexity of Copy Constant Detection in Parallel Programs. In: Ferreira, A., Reichel, H. (eds) STACS 2001. STACS 2001. Lecture Notes in Computer Science, vol 2010. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-44693-1_43
Download citation
DOI: https://doi.org/10.1007/3-540-44693-1_43
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-41695-1
Online ISBN: 978-3-540-44693-4
eBook Packages: Springer Book Archive