Skip to main content

Improved Program Dependence Graph and Algorithm for Static Slicing Concurrent Programs

  • Conference paper
Advanced Parallel Processing Technologies (APPT 2005)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 3756))

Included in the following conference series:

Abstract

Based on the comparison among existing slicing algorithms and analysis of the fact that Krinke’s algorithm [9] produces imprecise program slice for the program structure which has loops nested with one or more threads, a conclusion is drawn that the reason for the impreciseness is that Krinke’s data structure—threaded program dependence graph—had over coarse definitions of data dependence relations between threads, and the constraint put on the execution path in concurrent program is unduly loose. An improved threaded program dependence graph is proposed which adds a new dependence relation of loop-carried data dependence crossing thread boundaries. An improved slicing algorithm is also proposed which introduces a new concept of regioned execution witness to further constrain the execution path. The pseudo code of the algorithm adding loop-carried data dependence relations crossing thread boundaries is given. The pseudo code of the new slicing algorithm is also given whose complexity has been analyzed. Examples show that the improved slicing algorithm designed on the improved data structure can restrain the impreciseness of Krinke’s.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Binkley, D.W., Harman, M.: A survey of empirical results on program slicing [J]. Advances in Computers 62, 105–178 (2004)

    Article  Google Scholar 

  2. Clarke, E.M., Fujita, M., Rajan, S.P., Reps, T., Shankar, S., Teitelbaum, T.: Program slicing for VHDL [A]. In: Pierre, L., Kropf, T. (eds.) CHARME 1999. LNCS, vol. 1703, pp. 298–313. Springer, Heidelberg (1999)

    Chapter  Google Scholar 

  3. Millett, L., Teitelbaum, T.: Issues in slicing PROMELA and its applications to model checking, protocol understanding, and simulation. [J]. STTT 2(4), 343–349 (2000)

    Article  MATH  Google Scholar 

  4. Horwitz, S., Prins, J., Reps, T.: On the adequacy of program dependence graphs for representing programs [A]. In: Proceedings of Conference Record of the Fifteenth Annual ACM Symposium on Principles of Programming Languages, pp. 146–157 (1988)

    Google Scholar 

  5. Chen, Z., Xu, B., Zhao, J.: An overview of methods for dependence analysis of concurrent programs [J]. SIGPLAN Notices 37(8), 45–52 (2002)

    Article  Google Scholar 

  6. Cheng, J.: Slicing Concurrent Programs - A Graph-Theoretical Approach [A]. In: Fritzson, P.A. (ed.) AADEBUG 1993. LNCS, vol. 749. Springer, Heidelberg (1993)

    Chapter  Google Scholar 

  7. Zhao, J.: Slicing concurrent Java programs [A]. In: Proceedings of the 7th IEEE International Workshop on Program Comprehension, pp. 126–133 (1999)

    Google Scholar 

  8. Chen, Z., Xu, B., Yang, H., et al.: An Approach to Analyzing Dependency of Concurrent Programs [A]. In: Proceedings of the The First Asia-Pacific Conference on Quality Software, pp. 39–43 (2000)

    Google Scholar 

  9. Krinke, J.: Context-sensitive slicing of concurrent programs [A]. In: Proceedings ESEC/FSE, pp. 178–187 (2003)

    Google Scholar 

  10. Krinke, J.: Static slicing of threaded programs [A]. In: Proc. ACM SIGPLAN/SIGFSOFT Workshop on Program Analysis for Software Tools and Engineering (PASTE 1998), pp. 35–42 (1998)

    Google Scholar 

  11. Muller-Olm, M., Seidl, H.: On optimal slicing of parallel programs [A]. In: 33th ACM Symposium on Theory of Computing, pp. 647–656 (2001)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2005 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Xiao, J., Zhang, D., Chen, H., Dong, H. (2005). Improved Program Dependence Graph and Algorithm for Static Slicing Concurrent Programs. In: Cao, J., Nejdl, W., Xu, M. (eds) Advanced Parallel Processing Technologies. APPT 2005. Lecture Notes in Computer Science, vol 3756. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11573937_15

Download citation

  • DOI: https://doi.org/10.1007/11573937_15

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-29639-3

  • Online ISBN: 978-3-540-32107-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics