State-cover testing for nondeterministic terminating concurrent programs with an infinite number of synchronization sequences

Che Sheng Lin, Gwan Hwan Hwang

Research output: Contribution to journalArticle

4 Citations (Scopus)


Concurrent programs exhibit nondeterministic behavior in that multiple executions thereof with the same input might produce different sequences of synchronization events and different results. This is because different executions of a concurrent program with the same input may exhibit different interleavings. Thus, one of the major issues in the testing of concurrent programs is how to explore different interleavings or exhaust all the possible interleavings of the target programs. However, for terminating concurrent programs that have cyclic state spaces due to using iterative statements such as busy-waiting loops, they might have an infinite number of feasible synchronization sequences; that is, there is an infinite number of possible interleavings, which makes it impossible to explore all the possible interleavings for this type of concurrent program. To overcome this problem, we propose a testing scheme called dynamic effective testing that can perform state-cover testing for nondeterministic terminating concurrent programs with an infinite number of synchronization sequences. Dynamic effective testing does not require static analysis of the target concurrent program or the assistance of a model checker, and thus is loosely coupled to the syntax of the target concurrent program. It only needs to analyze sequences of synchronization events produced by the execution of the concurrent programs for race detection and state-traversal control. Therefore, the method is easy to port to different programming languages. In addition, only reiterated states discovered in a single SYN-sequence need to be stored. The implementation and experimental results obtained with real code demonstrate that source-code-level dynamic testing can be systematically performed on nondeterministic concurrent programs with infinite synchronization sequences.

Original languageEnglish
Pages (from-to)1294-1323
Number of pages30
JournalScience of Computer Programming
Issue number9
Publication statusPublished - 2013 Sep 1



  • Concurrent program
  • Concurrent testing
  • Nondeterministic behavior
  • Reachability testing
  • SYN-sequence

ASJC Scopus subject areas

  • Software

Cite this