One approach to testing concurrent programs is called reachability testing, which derives test sequences automatically and on-the-fly, without constructing a static model. Existing reachability testing algorithms are exhaustive in that they are intended to exercise all possible synchronization (SYN) sequences of a concurrent program with a given input. In this paper, we present a new testing strategy, called a t-way reachability testing, that adopts the dynamic framework of reachability testing but selectively exercises a subset of synchronization sequences. The selection of the SYN-sequences is based on a combinatorial testing strategy called a t-way testing. We present an algorithm that implements the t-way reachability testing, and report the results of several case studies that were conducted to evaluate its effectiveness. The results indicate that the t-way reachability testing can substantially reduce the number of SYN-sequences exercised during reachability testing while still effectively detecting faults.
Citation: Software Testing Verification & Reliability
Pub Type: Journals
combinatorial testing, concurrency testing, t-way testing, software testing