An automated framework to support testing for process-level race conditions

Tingting Yu, Witty Srisa-an, Gregg Rothermel

Research output: Contribution to journalArticlepeer-review

5 Scopus citations


Race conditions are difficult to detect because they usually occur only under specific execution interleavings. Numerous program analysis and testing techniques have been proposed to detect race conditions between threads on single applications. However, most of these techniques neglect races that occur at the process level due to complex system event interactions. This article presents a framework, SIMEXPLORER, that allows engineers to effectively test for process-level race conditions. SIMEXPLORER first uses dynamic analysis techniques to observe system execution, identify program locations of interest, and report faults related to oracles. Next, it uses virtualization to achieve the fine-grained controllability needed to exercise event interleavings that are likely to expose races. We evaluated the effectiveness of SIMEXPLORER on 24 real-world applications containing both known and unknown process-level race conditions. Our results show that SIMEXPLORER is effective at detecting these race conditions, while incurring an overhead that is acceptable given its effectiveness improvements.

Original languageEnglish
Article numbere1634
JournalSoftware Testing Verification and Reliability
Issue number4-5
StatePublished - Jun 1 2017

Bibliographical note

Publisher Copyright:
Copyright © 2017 John Wiley & Sons, Ltd.


  • kernel
  • processes
  • race conditions
  • software testing
  • virtual platforms

ASJC Scopus subject areas

  • Software
  • Safety, Risk, Reliability and Quality


Dive into the research topics of 'An automated framework to support testing for process-level race conditions'. Together they form a unique fingerprint.

Cite this