Debugging distributed programs using controlled re-execution
Proceedings of the nineteenth annual ACM symposium on Principles of distributed computing
Predicate Control for Active Debugging of Distributed Programs
IPPS '98 Proceedings of the 12th. International Parallel Processing Symposium on International Parallel Processing Symposium
Reachability Testing of Concurrent Programs
IEEE Transactions on Software Engineering
Detecting unaffected message races in parallel programs
GPC'06 Proceedings of the First international conference on Advances in Grid and Pervasive Computing
Hi-index | 0.00 |
An execution of a message-passing program is nondeterministic tf message races exist. In this paper, a formal definition of a message race for asynchronous communication is presented. The trace of an execution of a message-passing program is a sequence of send and receive events. For a receive event r in a trace T, its race set is the set of messages in T that have a race with the message received at r and can be received at r during some possible executions of the same program with the same input. A race analysis algorithm analyzes a trace to determine the race set for each receive event in the trace. Three race analysis algorithms are given for three dtgerent types of sequences of send and receive events. It is shown that these race analysis aIgorithms can be used to solve a number of problems in testing and debugging message-passing programs.