Eighth IEEE International Conference on Engineering of Complex Computer Systems (ICECCS'02)
Efficient Reachability Testing of Asynchronous Message-Passing Programs
Greenbelt, Maryland
December 02-December 04
ISBN: 0-7695-1757-9
An asynchronous message-passing program is nondeterministic. Given the same input, multiple executions of P may exercise different send/receive event sequences (or SR-sequences) and may even produce different results. Such nondeterminacy makes it difficult to determine the correctness of P. Let X be an input of P. Assume that any execution of P with X terminates. Reachability testing of P with X is to execute, in a systematic manner, all possible SR-sequences of P with X such that the correctness of P with X can be determined. The basic idea of reachability testing is described as follows. We first execute P with X nondeterministically to collect one or more SR-sequences. F or each collected SR-sequence, we analyze its race conditions and generate race variants, which are prefixes of other SR-sequences. We replay race variants to generate new SR-sequences. F or each new SR-sequence, we repeat the same process until we eventually execute all possible SR-sequences of P with X. In this paper, we describe an efficient implementation of reachability testing of asynchronous message-passing programs. Our technique deals with partially-ordered SR-sequences and reduces the complexity and redundancy caused by totally-ordered SR-sequences.
Citation:
Yu Lei, Kuo-Chung Tai, "Efficient Reachability Testing of Asynchronous Message-Passing Programs," iceccs, pp.35, Eighth IEEE International Conference on Engineering of Complex Computer Systems (ICECCS'02), 2002