In this paper, we present a new framework for performing dynamic testing of semaphore-based and shared-memory concurrent programs. The proposed scheme only has to analyse the synchronization sequences (SYN-sequences) that are collected during the dynamic testing of the concurrent program - static analysis of the syntax and semantics of the target concurrent program is unnecessary. A model checker is not needed to explore the feasible interleavings of the execution of the concurrent program. If the number of feasible SYN-sequences of the tested concurrent program is finite, our scheme can perform dynamic testing of all the feasible SYN-sequences. If the tested concurrent program has an infinite number of SYN-sequences, state-cover testing of the target program can be performed (if the execution states of the target concurrent program are finite). The implementation and experimental results obtained with real codes and some benchmark programs demonstrate the feasibility of the proposed scheme.
ASJC Scopus subject areas
- Safety, Risk, Reliability and Quality