Use of Sequencing Constraints for Specification-Based Testing of Concurrent Programs
IEEE Transactions on Software Engineering
Technology for Testing Nondeterministic Client/Server Database Applications
IEEE Transactions on Software Engineering
Reachability Testing of Semaphore-Based Programs
COMPSAC '04 Proceedings of the 28th Annual International Computer Software and Applications Conference - Volume 01
A rigorous approach towards test case generation
Information Sciences: an International Journal
Hi-index | 0.00 |
An execution of a message-passing program P with input X exercises a sequence of send and receive events, called a send-receive sequence (or SR-sequence). Assume that every execution of P with input X terminates. Reachability testing of P with input X is to execute all possible SR-sequences of P with input X. To perform reachability testing of P with input X, we first execute P with input X to collect one ore more SR-sequences. For each collected SR-sequence, we identify its race conditions and derive its race-variants by modifying the outcome of race conditions. These race-variants are prefixes of other SR-sequences of P with input X. We use these race-variants to force P with input X to execute and collect additional SR-sequences. By repeating this process, we eventually execute all possible SR-sequences of P with input X and thus can determine the correctness of P with input X. In this paper, we show derivation of race-variants of SR-sequences based on asynchronous communication and give an algorithm for reachability testing of asynchronous message-passing programs.