Dynamic load-balancing is an important topic for network-computing. In order to get the best performance out of a networked pool of dynamic resources, it is important to use as much information as possible for load-balancing decisions. Parallel programs are usually no “ex-and-hop” applications and a load-balancer that treats every execution as if it had never seen this application before, cannot achieve optimal results. We present an algorithm for generating formal descriptions of the dynamic execution behavior of distributed programs. These descriptions can then be used for a variety of tools, such as schedulers, load balancers, or routing systems.