Title :
MagicFuzzer: Scalable deadlock detection for large-scale applications
Author :
Cai, Yan ; Chan, W.K.
Author_Institution :
Dept. of Comput. Sci., City Univ. of Hong Kong, Hong Kong, China
Abstract :
We present MagicFuzzer, a novel dynamic deadlock detection technique. Unlike existing techniques to locate potential deadlock cycles from an execution, it iteratively prunes lock dependencies that each has no incoming or outgoing edge. Combining with a novel thread-specific strategy, it dramatically shrinks the size of lock dependency set for cycle detection, improving the efficiency and scalability of such a detection significantly. In the real deadlock confirmation phase, it uses a new strategy to actively schedule threads of an execution against the whole set of potential deadlock cycles. We have implemented a prototype and evaluated it on large-scale C/C++ programs. The experimental results confirm that our technique is significantly more effective and efficient than existing techniques.
Keywords :
C++ language; concurrency control; multi-threading; scheduling; MagicFuzzer; cycle detection; deadlock confirmation phase; dynamic deadlock detection technique; execution thread scheduling; large-scale C-C++ programs; large-scale applications; lock dependency set; thread-specific strategy; Classification algorithms; Image edge detection; Instruction sets; Message systems; Monitoring; Multicore processing; System recovery; deadlock detection; multithreaded programs;
Conference_Titel :
Software Engineering (ICSE), 2012 34th International Conference on
Conference_Location :
Zurich
Print_ISBN :
978-1-4673-1066-6
Electronic_ISBN :
0270-5257
DOI :
10.1109/ICSE.2012.6227156