• DocumentCode
    3144903
  • Title

    Noise Makers Need to Know Where to be Silent – Producing Schedules That Find Bugs

  • Author

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

  • Author_Institution
    Univ. of Haifa, Haifa
  • fYear
    2006
  • fDate
    15-19 Nov. 2006
  • Firstpage
    458
  • Lastpage
    465
  • 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.
  • Keywords
    distributed programming; multi-threading; probability; program debugging; program testing; scheduling; software tools; concurrent program; noise maker tool; probabilistic algorithms; real-life concurrent bug search; scheduling; thread switches; Application software; Computer bugs; Computer science; Debugging; Interleaved codes; Laboratories; Switches; Testing; Timing; Yarn;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Leveraging Applications of Formal Methods, Verification and Validation, 2006. ISoLA 2006. Second International Symposium on
  • Conference_Location
    Paphos
  • Print_ISBN
    978-0-7695-3071-0
  • Type

    conf

  • DOI
    10.1109/ISoLA.2006.18
  • Filename
    4463749