Distributed reachability testing of concurrent programs
Reachability testing is an approach to verifying concurrent programs. During reachability testing, every partially ordered synchronization sequence of a program with a given input is exercised exactly once. In this paper, we present the design and implementation of a distributed reachability testing algorithm for a cluster of workstations. This algorithm allows different test sequences to be exercised concurrently by different workstations without any synchronization, and without any duplication of sequences among workstations. Dynamic load balancing is performed using a work-stealing scheme. A novel aspect of this scheme is that work-stealing requests progress in rounds. This round-based structure identifies overloaded workstations to target for work stealing. Empirical studies show good speedup for four benchmark Java programs and one Lotos specification. Copyright (C) 2010 John Wiley & Sons, Ltd.
reachability testing concurrent programming software testing