Skip to main content

Computation Slicing: Techniques and Theory

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2180))

Abstract

We generalize the notion of slice introduced in our earlier paper [6]. A slice of a distributed computation with respect to a global predicate is the smallest computation that contains all consistent cuts of the original computation that satisfy the predicate. We prove that slice exists for all global predicates. We also establish that it is, in general, NP-complete to compute the slice. An optimal algorithm to compute slices for special cases of predicates is provided. Further, we present an efficient algorithm to graft two slices, that is, given two slices, either compute the smallest slice that contains all consistent cuts that are common to both slices or compute the smallest slice that contains all consistent cuts that belong to at least one of the slices. We give application of slicing in general andgrafting in particular to global property evaluation of distributed programs. Finally, we show that the results pertaining to consistent global checkpoints [14],[18] can be derived as special cases of computation slicing.

supportedin part by the NSF Grants ECS-9907213, CCR-9988225, Texas Education BoardGran t ARP-320, an Engineering Foundation Fellowship, andan IBM grant.

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

Buying options

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

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. K. M. Chandy and L. Lamport. DistributedSnapshots: Determining Global States of DistributedSystems. ACM Transactions on Computer Systems, 3(1):63–75, February 1985.

    Article  Google Scholar 

  2. C. Chase and V. K. Garg. Detection of Global Predicates: Techniques and their Limitations. Distributed Computing, 11(4):191–201, 1998.

    Article  Google Scholar 

  3. R. Cooper and K. Marzullo. Consistent Detection of Global Predicates. In Proceedings of the ACM/ONR Workshop on Parallel and Distributed Debugging, pages 163–173, Santa Cruz, California, 1991.

    Google Scholar 

  4. T. H. Cormen, C. E. Leiserson, and R. L. Rivest. Introduction to Algorithms. The MIT Press, Cambridge, Massachusetts, 1990.

    Google Scholar 

  5. B. A. Davey and H. A. Priestley. Introduction to Lattices and Order. Cambridge University Press, Cambridge, UK, 1990.

    MATH  Google Scholar 

  6. V. K. Garg and N. Mittal. On Slicing a DistributedComputation. In Proceedings of the 21st IEEE International Conference on Distributed Computing Systems (ICDCS), pages 322–329, Phoenix, Arizona, April 2001.

    Google Scholar 

  7. V. K. Garg and B. Waldecker. Detection of Unstable Predicates. In Proceedings of the ACM/ONR Workshop on Parallel and Distributed Debugging, Santa Cruz, California, May 1991.

    Google Scholar 

  8. B. Korel and R. Ferguson. Dynamic Slicing of DistributedPrograms. Applied Mathematics and Computer Science Journal, 2(2):199–215, 1992.

    MATH  Google Scholar 

  9. B. Korel and J. Rilling. Application of Dynamic Slicing in Program Debugging. In Mariam Kamkar, editor, Proceedings of the 3rd International Workshop on Automated Debugging (AADEBUG), pages 43–57, Linköping, Sweden, May 1997.

    Google Scholar 

  10. L. Lamport. Time, Clocks, andthe Ordering of Events in a DistributedSystem. Communications of the ACM (CACM), 21(7):558–565, July 1978.

    Article  MATH  Google Scholar 

  11. N. Mittal and V. K. Garg. Debugging Distributed Programs Using Controlled Reexecution. In Proceedings of the 19th ACM Symposium on Principles of Distributed Computing (PODC), pages 239–248, Portland, Oregon, July 2000.

    Google Scholar 

  12. N. Mittal and V. K. Garg. Computation Slicing: Techniques andTheory. Technical Report TR-PDS-2001-002, The Parallel and Distributed Systems Laboratory, Department of Electrical andComputer Engineering, The University of Texas at Austin, April 2001. Available at http://www.cs.utexas.edu/users/neerajm.

    Google Scholar 

  13. N. Mittal and V. K. Garg. On Detecting Global Predicates in Distributed Computations. In Proceedings of the 21st IEEE International Conference on Distributed Computing Systems (ICDCS), pages 3–10, Phoenix, Arizona, April 2001.

    Google Scholar 

  14. R. H. B. Netzer and J. Xu. Necessary andSufficien t Conditions for Consistent Global Snapshots. IEEE Transactions on Parallel and Distributed Systems, 6(2):165–169, February 1995.

    Article  Google Scholar 

  15. S. D. Stoller and F. Schnieder. Faster Possibility Detection by Combining Two Approaches. In Proceedings of the Workshop on Distributed Algorithms (WDAG), France, September 1995.

    Google Scholar 

  16. A. Tarafdar and V. K. Garg. Predicate Control for Active Debugging of Distributed Programs. In Proceedings of the 9th IEEE Symposium on Parallel and Distributed Processing (SPDP), Orlando, 1998.

    Google Scholar 

  17. A. Tarafdar and V. K. Garg. Software Fault Tolerance of Concurrent Programs Using ControlledRe-execution. InProceedings of the 13th Symposium on Distributed Computing (DISC), pages 210–224, Bratislava, Slovak Republic, September 1999.

    Google Scholar 

  18. Yi-Min Wang. Consistent Global Checkpoints that Contain a Given Set of Local Checkpoints. IEEE Transactions on Computers, 46(4):456–468, April 1997.

    Article  Google Scholar 

  19. M. Weiser. Programmers Use Slices when Debugging. Communications of the ACM (CACM), 25(7):446–452, 1982.

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2001 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Mittal, N., Garg, V.K. (2001). Computation Slicing: Techniques and Theory. In: Welch, J. (eds) Distributed Computing. DISC 2001. Lecture Notes in Computer Science, vol 2180. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45414-4_6

Download citation

  • DOI: https://doi.org/10.1007/3-540-45414-4_6

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-42605-9

  • Online ISBN: 978-3-540-45414-4

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics