16th IEEE International Symposium on Software Reliability Engineering (ISSRE'05)
A New Algorithm for Reachability Testing of Concurrent Programs
Chicago, Illinois
November 08-November 11
ISBN: 0-7695-2482-6
One approach to testing concurrent programs, called reachability testing, generates test sequences automatically, and on-the-fly, without constructing any static models. To ensure that every partially-ordered synchronization sequence of a program with a given input is exercised exactly once, existing reachability testing algorithms need to save and search through the history of synchronization sequences that have already been exercised, which is impractical for many applications. In this paper, we present a new reachability testing algorithm which does not save any synchronization sequences but still guarantees that every partially-ordered sequence will be exercised exactly once. We describe a reachability testing tool called RichTest and report some empirical results, including a comparison between RichTest and a partial order reduction based tool called VeriSoft. RichTest performed significantly better for the programs in our study.