Publication
PADTAD 2006
Conference paper

Producing scheduling that causes concurrent programs to fail

View publication

Abstract

A noise maker is a tool that seeds a concurrent program with conditional synchronization primitives (such as yield) for the purpose of increasing the likelihood that a bug manifest itself. This work explores the theory and practice of choosing where in the program to induce such thread switches at runtime. We introduce a novel fault model that classifies locations as "good", "neutral", or "bad," based on the effect of a thread switch at the location. We validate our approach by experimenting with a set of programs taken from publicly available multi-threaded benchmark. Our empirical evidence demonstrates that real-life behavior is similar to that derived from the model.

Date

Publication

PADTAD 2006

Authors

Share