Logical Time in Distributed Computing Systems
Computer - Distributed computing systems: separate resources acting as one
Consistent detection of global predicates
PADD '91 Proceedings of the 1991 ACM/ONR workshop on Parallel and distributed debugging
Local and temporal predicates in distributed systems
ACM Transactions on Programming Languages and Systems (TOPLAS)
Experimental results from dynamic slicing of C programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Distributed snapshots: determining global states of distributed systems
ACM Transactions on Computer Systems (TOCS)
A framework for viewing atomic events in distributed computations
Theoretical Computer Science - Special issue on parallel computing
Programmers use slices when debugging
Communications of the ACM
Time, clocks, and the ordering of events in a distributed system
Communications of the ACM
Techniques to Tackle State Explosion in Global Predicate Detection
IEEE Transactions on Software Engineering
Elements of distributed computing
Elements of distributed computing
Detecting Temporal Logic Predicates on the Happened-Before Model
IPDPS '02 Proceedings of the 16th International Parallel and Distributed Processing Symposium
Faster Possibility Detection by Combining Two Approaches
WDAG '95 Proceedings of the 9th International Workshop on Distributed Algorithms
Efficient Detection of Restricted Classes of Global Predicates
WDAG '95 Proceedings of the 9th International Workshop on Distributed Algorithms
Slicing Concurrent Programs - A Graph-Theoretical Approach
AADEBUG '93 Proceedings of the First International Workshop on Automated and Algorithmic Debugging
Efficient Detection of Global Properties in Distributed Systems Using Partial-Order Methods
CAV '00 Proceedings of the 12th International Conference on Computer Aided Verification
The complexity of theorem-proving procedures
STOC '71 Proceedings of the third annual ACM symposium on Theory of computing
On Detecting Global Predicates in Distributed Computations
ICDCS '01 Proceedings of the The 21st International Conference on Distributed Computing Systems
Granularity-Driven Dynamic Predicate Slicing Algorithms for Message Passing Systems
Automated Software Engineering
Predicate control: synchronization in distributed computations with look-ahead
Journal of Parallel and Distributed Computing
Techniques and applications of computation slicing
Distributed Computing
Formal Verification of Simulation Traces Using Computation Slicing
IEEE Transactions on Computers
Hi-index | 0.00 |
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 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 and 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 off-line in nature. In this paper, we also present two on-line 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), 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(n^2).