• DocumentCode
    2096
  • Title

    ASN: A Dynamic Barrier-Based Approach to Confirmation of Deadlocks from Warnings for Large-Scale Multithreaded Programs

  • Author

    Yan Cai ; Changjiang Jia ; Shangru Wu ; Ke Zhai ; Chan, W.K.

  • Author_Institution
    State Key Lab. of Comput. Sci., Inst. of Software, Beijing, China
  • Volume
    26
  • Issue
    1
  • fYear
    2015
  • fDate
    Jan. 2015
  • Firstpage
    13
  • Lastpage
    23
  • Abstract
    Many large-scale multithreaded programs incur deadlock bugs. Existing deadlock warning detection techniques only report warning scenarios, which may or may not be real deadlocks. Each warning should be further verified on whether it may manifest into a real deadlock. For this purpose, a number of active randomized testing schedulers have been developed to trigger them, and yet pervious experiments show that their deadlock confirmation probability can be low. This paper presents ASN, a novel barrier-based randomized scheduler that triggers real deadlocks with high probabilities. We exploit the insights that in a confirmation run, the threads involved in a real deadlock should properly acquire one or more sets of locks prior to deadlocking. ASN automatically identifies three interesting sets of such positions. It guides the threads participating in a given warning to stay at these position sets in turn. When all the threads are staying at the last position set, ASN checks whether any deadlock that matches with the given warning has been triggered. We have evaluated ASN on 15 deadlock bugs in a suite of real-world multithreaded programs. The results show that ASN either confirms more deadlocks from the benchmark suite or triggers the same deadlocks with significantly higher probabilities than existing schedulers.
  • Keywords
    concurrency control; multi-threading; program debugging; scheduling; system recovery; ASN; active randomized testing schedulers; barrier-based randomized scheduler; deadlock bugs; deadlock confirmation probability; deadlock warning detection techniques; dynamic barrier-based approach; large-scale multithreaded programs; Computer bugs; Instruction sets; Message systems; Monitoring; Schedules; System recovery; Testing; Debugging; deadlock triggering; large-scale multithreaded programs; randomized testing;
  • fLanguage
    English
  • Journal_Title
    Parallel and Distributed Systems, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    1045-9219
  • Type

    jour

  • DOI
    10.1109/TPDS.2014.2307864
  • Filename
    6747310