  This paper presents a lightweight formalism (a trace) to model
message-passing concurrent executions where some common common problems can be
identified, like lost or delayed messages, some forms of deadlock, etc. In
particular, we consider (potential) message races that can be useful to analyze
alternative executions. We consider a particular application for our
developments in the context of a causal-consistent reversible debugging
framework for Erlang programs
