“…Informal testing approaches for MPI (e.g., based on schedule perturbation [18]) do not guarantee coverage, and are also highly redundant because they will, in practice, generate many equivalent schedules (e.g., permuting deterministic message match pairs). While static analyzers for MPI exist (e.g., [1]), they are known to be unsound (can generate too many false alarms) when used for bug-hunting, due to their overapproximation of possible message matches. Modelchecking based methods (e.g., MPI-SPIN [12]) can guarantee coverage, but on models of MPI programs; such models are very difficult to create, and become obsolete with each design change.…”