• DocumentCode
    2004479
  • Title

    Deconstructing concurrency heisenbugs

  • Author

    Ball, Thomas ; Burckhardt, Sebastian ; De Halleux, Jonathan ; Musuvathi, Madanlal ; Qadeer, Shaz

  • Author_Institution
    Microsoft Res., Richmond, WA
  • fYear
    2009
  • fDate
    16-24 May 2009
  • Firstpage
    403
  • Lastpage
    404
  • Abstract
    Concurrency is pervasive in large systems. Unexpected interference among threads often results in ldquoHeisenbugsldquo that are extremely difficult to reproduce and eliminate. We have implemented a tool called CHESS for finding and reproducing such bugs. When attached to a program, CHESS takes control of thread scheduling and uses efficient search techniques to drive the program through possible thread interleavings. This systematic exploration of program behavior enables CHESS to quickly uncover bugs that might otherwise have remained hidden for a long time. For each bug, CHESS consistently reproduces an erroneous execution manifesting the bug, thereby making it significantly easier to debug the problem. CHESS scales to large concurrent programs and has found numerous bugs in existing systems that had been tested extensively prior to being tested by CHESS. CHESS has been integrated into the test frameworks of many code bases inside Microsoft and is used by testers on a daily basis.
  • Keywords
    concurrency control; multi-threading; program debugging; scheduling; software tools; ubiquitous computing; CHESS tool; Microsoft; concurrency Heisenbug deconstruction; thread scheduling; Computer bugs; Concurrent computing; Control systems; Debugging; Interleaved codes; Processor scheduling; Search engines; System testing; Writing; Yarn;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Engineering - Companion Volume, 2009. ICSE-Companion 2009. 31st International Conference on
  • Conference_Location
    Vancouver, BC
  • Print_ISBN
    978-1-4244-3495-4
  • Type

    conf

  • DOI
    10.1109/ICSE-COMPANION.2009.5071033
  • Filename
    5071033