  Asynchronous message-passing systems are employed frequently to implement
distributed mechanisms, protocols, and processes. This paper addresses the
problem of precise data flow analysis for such systems. To obtain good
precision, data flow analysis needs to somehow skip execution paths that read
more messages than the number of messages sent so far in the path, as such
paths are infeasible at run time. Existing data flow analysis techniques do
elide a subset of such infeasible paths, but have the restriction that they
admit only finite abstract analysis domains. In this paper we propose a
generalization of these approaches to admit infinite abstract analysis domains,
as such domains are commonly used in practice to obtain high precision. We have
implemented our approach, and have analyzed its performance on a set of 14
benchmarks. On these benchmarks our tool obtains significantly higher precision
compared to a baseline approach that does not elide any infeasible paths and to
another baseline that elides infeasible paths but admits only finite abstract
domains.
