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
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;
Journal_Title :
Parallel and Distributed Systems, IEEE Transactions on
DOI :
10.1109/TPDS.2014.2307864