  It has been recently proposed that testing based on symbolic execution can be
used in conjunction with static deadlock analysis to define a deadlock
detection framework that: (i) can show deadlock presence, in that case a
concrete test-case and trace are obtained, and (ii) can also prove deadlock
freedom. Such symbolic execution starts from an initial distributed context,
i.e., a set of locations and their initial tasks. Considering all possibilities
results in a combinatorial explosion on the different distributed contexts that
must be considered. This paper proposes a technique to effectively generate
initial contexts that can lead to deadlock, using the possible conflicting task
interactions identified by static analysis, discarding other distributed
contexts that cannot lead to deadlock. The proposed technique has been
integrated in the above-mentioned deadlock detection framework hence enabling
it to analyze systems without the need of any user supplied initial context.
