Reachability testing of concurrent programs
One approach to testing concurrent programs, called reachability testing, generates synchronization sequences automatically and on-the-fly, without constructing any static models. In this paper, we present a general execution model for concurrent programs that allows reachability testing to be applied to several commonly used synchronization constructs. We also present a new method for performing reachability testing. This new method guarantees that every partially ordered synchronization sequence will be exercised exactly once without having to save any sequences that have already been exercised. We describe a prototype reachability testing tool called Rich Test and report some empirical results, including a comparison between Rich Test and a partial order reduction-based tool called VeriSoft. Rich Test performed significantly better for the programs in our study.
reachability testing concurrent programming software testing