An object-oriented conceptual model for the debugging of message-passing distributed programs incorporates several debugging facilities: generation of a space-time diagram showing the progression of the execution being studied, detection of race conditions, detection of particular kinds of predicates and representation of causality cones. The focus of this paper is the race detection mechanism. The proposed mechanism comprises two steps: detection of pairs of receive events in the same process potentially involved in race conditions and verification of the legitimacy of the potential race condition. The mechanism relies on the analysis of two arguments, process id and message tag, in receive events and consume events, which are considered as distinct types of occurrences in the conceptual model.
展开▼