“…The dependencies specifically defined for BTs are control dependence (cd), data dependence(dd), message dependence (md) (between internal input and output nodes), synchronisation dependence (sd) (between synchronisation nodes), interference dependence (id) (a dependence across parallel threads), and termination dependence (td) (between a node which terminates another thread, such as a reversion or thread kill node, and a node in the thread to be terminated). The definitions of these dependencies, as well as examples, can be found in [13,21]. The edges in the BTDG are denoted as p d q where d ∈ {cd, dd, md, sd, id}, indicating that node q depends on node p and the dependency is of type d. A path in a BTDG is a sequence of nodes such that for every pair of consecutive nodes n i and n i+1 there is a dependency of some type d, i.e., n i d n i+1 .…”