[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/380752.380864acmconferencesArticle/Chapter ViewAbstractPublication PagesstocConference Proceedingsconference-collections
Article

On optimal slicing of parallel programs

Published: 06 July 2001 Publication History

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 [23]. Here, we sharpen this result by proving that slicing remains undecidable if synchronization is abandoned---although reachability becomes polynomial. Moreover, we show for multi-threaded 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 constant 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 [15, 14, 24].

References

[1]
K.-R. Apt and E.-R. Olderog. Verification of Sequential and Concurrent Programs. Springer, 1997.]]
[2]
A. Bouajjani and P. Habermehl. Constrained properties, semilinear systems, and Petri nets. In Concur'96, LNCS 1119. Springer, 1996.]]
[3]
J. Cheng. Slicing concurrent programs-a graph-theoretical approach. In Proc. 1st International Workshop on Automated and Algorithmic Debugging, LNCS 749, pp. 223-240. Springer, 1993.]]
[4]
E. M. Clarke, M. Fujita, S. P. Rajan, T. Reps, S. Shankar, and T. Teitelbaum. Program slicing for VHDL. In Charme'99, Bad Herrenalb, Germany, September 1999.]]
[5]
J. Esparza and J. Knoop. An Automata-theoretic Approach toInterprocedural Data- ow Analysis. In FOSSACS '99, LNCS 1578, pp. 14-30. Springer, 1999.]]
[6]
J. Esparza and A. Podelski. Efficient Algorithms for pre " and post " on Interprocedural Parallel Flow Graphs. In ACM POPL 2000, pp. 1-11, 2000.]]
[7]
C. Fischer and R. LeBlanc. Crafting a Compiler. Benjamin/Cummings Publishing Co., Inc., Menlo Park, CA, 1988.]]
[8]
N. Francez. Program Verification. Addison-Wesley, 1992.]]
[9]
R. Giegerich, U. M.oncke, and R. Wilhelm. Invariance of approximative semantics with respect to program transformations. In GI 11. Jahrestagung, Informatik-Fachberichte 50, pp. 1-10. Springer, 1981.]]
[10]
J. Hatclifi, J. Corbett, M. Dwyer, S. Sokolowski, and H. Zheng. A formal study of slicing for multi-threaded programs with JVM concurrency primitives. In SAS'99, LNCS 1694, pp. 1-18. Springer, 1999.]]
[11]
S. Horwitz, T. Reps, and D. Binkley. Interprocedural slicing using dependence graphs. ACM TOPLAS, 12(1):26-61, 1990.]]
[12]
S. Horwitz, T. Reps, and M. Sagiv. Demand interprocedural data ow analysis. Technical Report TR-1283, Computer Sciences Department, University of Wisconsin, Madison, WI, 1995.]]
[13]
M. Iwaihara, M. Nomura, S. Ichinose, and H. Yasuura. Program slicing on VHDL descriptions and its applications. In Proc. 3rd APCHDL'96, pp. 132-139, Bangalore, 1996.]]
[14]
J. Knoop. Parallel constant propagation. In Euro-Par'98, LNCS 1470, pp. 445-455. Springer, 1998.]]
[15]
J. Knoop, B. Steffen, and J. Vollmer. Parallelism for free: Efficient and optimal bitvector analyses for parallel programs. ACM TOPLAS, 18(3):268-299, 1996.]]
[16]
D. Kozen. Lower bounds for natural proof systems. In IEEE FOCS'77, pp. 254-266, Long Beach, CA, 1977.]]
[17]
J. Krinke. Static slicing of threaded programs. In ACM PASTE'98, pp. 35-42, Montreal, Canada, 1998.]]
[18]
L. I. Millett and T. Teitelbaum. Issues in slicing PROMELA and its applications to model checking, protocol understanding, and simulation. STTT, 2(4):343-349, 2000.]]
[19]
M. Minsky. Computation: Finite and Infinite Machines. Prentice-Hall, 1967.]]
[20]
M. M. uller-Olm. The complexity ofcopy constant detection in parallel programs. In STACS 2001, LNCS 2010, pp. 490-501. Springer, 2001.]]
[21]
K. J. Ottenstein and L. M. Ottenstein. The program dependence graph in a software development environment. In ACM Software Engineering Symposium on Practical Software Development Environments, pp. 177-184, 1984.]]
[22]
S. Owicki and D. Gries. An axiomatic proof technique for parallel programs. Acta Informatica, 6:319-340, 1976.]]
[23]
G. Ramalingam. Context-sensitive synchronization-sensitive analysis is undecidable. ACM TOPLAS, 22(2): 416-430, 2000.]]
[24]
H. Seidl and B. Steffen. Constraint-based inter-procedural analysis of parallel programs. In ESOP'2000, LNCS 1782, pp. 351-365. Springer, 2000.]]
[25]
R. N. Taylor. Complexity of analyzing the synchronization structure of concurrent programs. Acta Informatica, 19:57-84, 1983.]]
[26]
F. Tip. A survey of program slicing techniques. Journal of Programming Languages, 3(3):121-189, 1995.]]
[27]
M. Weiser. Program slicing. IEEE Transactions on Software Engineering, 10(4):352-357, 1984.]]
[28]
J. Zhao. Slicing concurrent Java programs. In 7th IEEE International Workshop on Program Comprehension, pp. 126-133, Pittsburgh, PA, USA, May 1999.]]

Cited By

View all
  • (2016)A systematic review of approaches for testing concurrent programsConcurrency and Computation: Practice & Experience10.1002/cpe.371128:5(1572-1611)Online publication date: 10-Apr-2016
  • (2013)Iterable Forward Reachability Analysis of Monitor-DPNsElectronic Proceedings in Theoretical Computer Science10.4204/EPTCS.129.24129(384-403)Online publication date: 19-Sep-2013
  • (2012)A vocabulary of program slicing-based techniquesACM Computing Surveys10.1145/2187671.218767444:3(1-41)Online publication date: 14-Jun-2012
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
STOC '01: Proceedings of the thirty-third annual ACM symposium on Theory of computing
July 2001
755 pages
ISBN:1581133499
DOI:10.1145/380752
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 06 July 2001

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. complexity
  2. interprocedural analysis
  3. parallel programs
  4. slicing
  5. undecidability

Qualifiers

  • Article

Conference

STOC01
Sponsor:

Acceptance Rates

STOC '01 Paper Acceptance Rate 83 of 230 submissions, 36%;
Overall Acceptance Rate 1,469 of 4,586 submissions, 32%

Upcoming Conference

STOC '25
57th Annual ACM Symposium on Theory of Computing (STOC 2025)
June 23 - 27, 2025
Prague , Czech Republic

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)3
  • Downloads (Last 6 weeks)0
Reflects downloads up to 11 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2016)A systematic review of approaches for testing concurrent programsConcurrency and Computation: Practice & Experience10.1002/cpe.371128:5(1572-1611)Online publication date: 10-Apr-2016
  • (2013)Iterable Forward Reachability Analysis of Monitor-DPNsElectronic Proceedings in Theoretical Computer Science10.4204/EPTCS.129.24129(384-403)Online publication date: 19-Sep-2013
  • (2012)A vocabulary of program slicing-based techniquesACM Computing Surveys10.1145/2187671.218767444:3(1-41)Online publication date: 14-Jun-2012
  • (2012)Complexity of Data Dependence Problems for Program Schemas with ConcurrencyACM Transactions on Computational Logic10.1145/2159531.215953713:2(1-18)Online publication date: 1-Apr-2012
  • (2011)Join-lock-sensitive forward reachability analysis for concurrent programs with dynamic process creationProceedings of the 12th international conference on Verification, model checking, and abstract interpretation10.5555/1946284.1946299(199-213)Online publication date: 23-Jan-2011
  • (2011)Advanced chopping of sequential and concurrent programsSoftware Quality Journal10.1007/s11219-010-9114-719:2(239-294)Online publication date: 1-Jun-2011
  • (2011)Join-Lock-Sensitive Forward Reachability Analysis for Concurrent Programs with Dynamic Process CreationVerification, Model Checking, and Abstract Interpretation10.1007/978-3-642-18275-4_15(199-213)Online publication date: 2011
  • (2010)Slicing Concurrent Programs Based on Program Reachability GraphsProceedings of the 2010 10th International Conference on Quality Software10.1109/QSIC.2010.37(248-253)Online publication date: 14-Jul-2010
  • (2009)Program slicing across the hardware-software boundary for embedded systemsInternational Journal of Embedded Systems10.1504/IJES.2009.0272414:1(66)Online publication date: 2009
  • (2009)Precise slicing of concurrent programsAutomated Software Engineering10.1007/s10515-009-0048-x16:2(197-234)Online publication date: 1-Jun-2009
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media