Verifying concurrent programs is challenging since the number of thread interleavings that need to be explored can be huge even for moderate programs. We present a cartesian semantics that reduces the amount of nondeterminism in concurrent programs by delaying unnecessary context switches. Using this semantics, we construct a novel dynamic partial-order reduction algorithm. We have implemented our algorithm and evaluate it on a small set of benchmarks. Our preliminary experimental results show a significant potential saving in the number of explored states and transitions.
|Number of pages||18|
|Journal||Lecture Notes in Computer Science|
|State||Published - 2007|
|Event||14th International SPIN Workshop: Model Checking Software, 2007 - Berlin, Germany|
Duration: 1 Jul 2007 → 3 Jul 2007