• DocumentCode
    950041
  • Title

    Solving Computation Slicing Using Predicate Detection

  • Author

    Mittal, Neeraj ; Sen, Alper ; Garg, Vijay K.

  • Author_Institution
    Univ. of Texas at Dallas, Richardson
  • Volume
    18
  • Issue
    12
  • fYear
    2007
  • Firstpage
    1700
  • Lastpage
    1713
  • Abstract
    Given a distributed computation and a global predicate, predicate detection involves determining whether there exists at least one consistent cut (or global state) of the computation that satisfies the predicate. On the other hand, computation slicing is concerned with computing the smallest subcomputation (with the least number of consistent cuts) that contains all consistent cuts of the computation satisfying the predicate. In this paper, we investigate the relationship between predicate detection and computation slicing and show that the two problems are actually equivalent. Specifically, given an algorithm to detect a predicate b in a computation C, we derive an algorithm to compute the slice of C with respect to b. The time complexity of the (derived) slicing algorithm is O(n|E|T), where n is the number of processes, E is the set of events, and O(T) is the time complexity of the detection algorithm. We discuss how the "equivalence" result of this paper can be utilized to derive a faster algorithm for solving the general predicate detection problem in many cases. Slicing algorithms described in our earlier papers are all offline in nature. In this paper, we also present two online algorithms for computing the slice. The first algorithm can be used to compute the slice for a general predicate. Its amortized time complexity is O(n(c + n)T) per event, where c is the average concurrency in the computation and O(T) is the time complexity of the detection algorithm. The second algorithm can be used to compute the slice for a regular predicate. Its amortized time complexity is only O(n2) per event.
  • Keywords
    computational complexity; distributed programming; program slicing; computation slicing; distributed computation; predicate detection; program trace analysis; time complexity; computation slicing; predicate detection; program trace analysis; testing and debugging;
  • fLanguage
    English
  • Journal_Title
    Parallel and Distributed Systems, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    1045-9219
  • Type

    jour

  • DOI
    10.1109/TPDS.2007.1077
  • Filename
    4359391