Premium
Distributed reachability testing of concurrent programs
Author(s) -
Carver Richard H.,
Lei Yu
Publication year - 2010
Publication title -
concurrency and computation: practice and experience
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.309
H-Index - 67
eISSN - 1532-0634
pISSN - 1532-0626
DOI - 10.1002/cpe.1573
Subject(s) - reachability , computer science , workstation , synchronization (alternating current) , benchmark (surveying) , sequence (biology) , java , parallel computing , scheme (mathematics) , speedup , distributed computing , programming language , operating system , theoretical computer science , computer network , mathematics , mathematical analysis , channel (broadcasting) , geodesy , biology , genetics , geography
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 © 2010 John Wiley & Sons, Ltd.