Abstract. To detect hard-to-find concurrency bugs, current tools systematically explore all possible interleavings of the transitions in a program. Unfortunately, concurrent programs have a large number of possible interleavings due to nondeterminism. Speeding up such tools requires pruning the state space explored. Partial-order reduction (POR) techniques can substantially prune the number of explored interleavings. These techniques require defining a dependency relation on transitions in the program, and exploit independency among certain transitions to prune the state space. We observe that actor systems, a prevalent class of programs where computation entities communicate by exchanging messages, exhibit a dependency relation among co-enabled transitions with an interesting property: transitivity. This paper introduces a novel dynamic POR technique, TransDPOR, that exploits the transitivity of the dependency relation in actor systems. Empirical results show that leveraging transitivity speeds up exploration by up to two orders of magnitude compared to existing POR techniques.
For the actor model, the transitivity of the dependency relation for send operations has been exploited to defer early planning of interleavings REF .
TransDPOR: A Novel Dynamic Partial-Order Reduction Technique for Testing Actor Programs
FMOODS/FORTE
Computer Science