On optimal slicing of parallel programs

Markus Müller-Olm, Helmut Seidl

Research output: Contribution to journalConference articlepeer-review

25 Scopus citations

Abstract

Optimal program slicing determines for a statement S in a program π whether or not S affects a specified set of statements, given that all conditionals in π are interpreted as non-deterministic choices. Only recently, it has been shown that reachability of program points and hence also optimal slicing is undecidable for multi-threaded programs with (parameterless) procedures and synchronization. Here, we sharpen this result by proving that slicing remains undecidable if synchronization is abandoned - although reachabitity becomes polynomial. Moreover, we show for multithreaded programs without synchronization, that slicing stays PSPACE-hard when procedure calls are forbidden, and becomes NP-hard for loop-free programs. Since the latter two problems can be solved in PSPACE and NP, respectively, even in presence of synchronization, our new lower bounds are tight. Finally, we show that the above decidability and lower bound properties equally apply to other simple program analysis problems like copy c onstant propagation and true liveness of variables. This should be contrasted to the problems of strong copy constant propagation and (ordinary) liveness of variables for which polynomial algorithms have been designed.

Original languageEnglish
Pages (from-to)647-656
Number of pages10
JournalConference Proceedings of the Annual ACM Symposium on Theory of Computing
DOIs
StatePublished - 2001
Externally publishedYes
Event33rd Annual ACM Symposium on Theory of Computing - Creta, Greece
Duration: 6 Jul 20018 Jul 2001

Keywords

  • Complexity
  • Interprocedural analysis
  • Parallel programs
  • Slicing
  • Undecidability

Fingerprint

Dive into the research topics of 'On optimal slicing of parallel programs'. Together they form a unique fingerprint.

Cite this