Introduction to algorithms
Consistent detection of global predicates
PADD '91 Proceedings of the 1991 ACM/ONR workshop on Parallel and distributed debugging
Necessary and Sufficient Conditions for Consistent Global Snapshots
IEEE Transactions on Parallel and Distributed Systems
Distributed snapshots: determining global states of distributed systems
ACM Transactions on Computer Systems (TOCS)
Consistent Global Checkpoints that Contain a Given Set of Local Checkpoints
IEEE Transactions on Computers
Debugging distributed programs using controlled re-execution
Proceedings of the nineteenth annual ACM symposium on Principles of distributed 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
Faster Possibility Detection by Combining Two Approaches
WDAG '95 Proceedings of the 9th International Workshop on Distributed Algorithms
Software Fault Tolerance of Concurrent Programs Using Controlled Re-execution
Proceedings of the 13th International Symposium on Distributed Computing
On Detecting Global Predicates in Distributed Computations
ICDCS '01 Proceedings of the The 21st International Conference on Distributed Computing Systems
On Slicing a Distributed Computation
ICDCS '01 Proceedings of the The 21st International Conference on Distributed Computing Systems
Predicate Control for Active Debugging of Distributed Programs
IPPS '98 Proceedings of the 12th. International Parallel Processing Symposium on International Parallel Processing Symposium
Detection of global predicates: techniques and their limitations
Distributed Computing
Detecting Temporal Logic Predicates on the Happened-Before Model
IPDPS '02 Proceedings of the 16th International Parallel and Distributed Processing Symposium
Algorithmic Combinatorics Based on Slicing Posets
FST TCS '02 Proceedings of the 22nd Conference Kanpur on Foundations of Software Technology and Theoretical Computer Science
Software Fault Tolerance of Distributed Programs Using Computation Slicing
ICDCS '03 Proceedings of the 23rd International Conference on Distributed Computing Systems
ACM SIGACT News distributed computing column 12
ACM SIGACT News
Granularity-Driven Dynamic Predicate Slicing Algorithms for Message Passing Systems
Automated Software Engineering
A brief survey of program slicing
ACM SIGSOFT Software Engineering Notes
Techniques and applications of computation slicing
Distributed Computing
Algorithmic combinatorics based on slicing posets
Theoretical Computer Science
Distributed dynamic slicing of Java programs
Journal of Systems and Software
Formal Verification of Simulation Traces Using Computation Slicing
IEEE Transactions on Computers
Testing Distributed Systems Through Symbolic Model Checking
FORTE '07 Proceedings of the 27th IFIP WG 6.1 international conference on Formal Techniques for Networked and Distributed Systems
Modeling and analyzing periodic distributed computations
SSS'10 Proceedings of the 12th international conference on Stabilization, safety, and security of distributed systems
Concurrency-oriented verification and coverage of system-level designs
ACM Transactions on Design Automation of Electronic Systems (TODAES)
A mobile computing approach for navigation purposes
W2GIS'06 Proceedings of the 6th international conference on Web and Wireless Geographical Information Systems
Brief announcement: many slices are better than one
DISC'06 Proceedings of the 20th international conference on Distributed Computing
FM'06 Proceedings of the 14th international conference on Formal Methods
Detecting temporal logic predicates on distributed computations
DISC'07 Proceedings of the 21st international conference on Distributed Computing
Modeling, analyzing and slicing periodic distributed computations
Information and Computation
Hi-index | 0.01 |
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 and grafting 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.