Noise makers need to know where to be silent - Producing schedules that find bugs

Yosi Ben-Asher, Yaniv Eytani, Eitan Farchi, Shmuel Ur

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

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. 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. Using the model, we explore the terms under which an efficient search for real-life concurrent bugs can be conducted. We accordingly justify the use of probabilistic algorithms for this search and gain a deeper insight of the work done so far on noise-making. We validate our approach by experimenting with a set of programs taken from publicly available multi-threaded benchmarks. Our empirical evidence demonstrates that real-life behavior is similar to one derived from the model.

Original languageEnglish
Title of host publicationProceedings - ISoLA 2006
Subtitle of host publication2nd International Symposium on Leveraging Applications of Formal Methods, Verification and Validation
PublisherIEEE Computer Society
Pages458-465
Number of pages8
ISBN (Print)0769530710, 9780769530710
DOIs
StatePublished - 2006
Event2nd International Symposium on Leveraging Applications of Formal Methods, Verification and Validation, ISoLA 2006 - Paphos, Cyprus
Duration: 15 Nov 200619 Nov 2006

Conference

Conference2nd International Symposium on Leveraging Applications of Formal Methods, Verification and Validation, ISoLA 2006
Country/TerritoryCyprus
CityPaphos
Period15/11/0619/11/06

ASJC Scopus subject areas

  • Computational Theory and Mathematics
  • Theoretical Computer Science

Fingerprint

Dive into the research topics of 'Noise makers need to know where to be silent - Producing schedules that find bugs'. Together they form a unique fingerprint.

Cite this