Runtime race detection for multi-threaded C++ server applications

作者: Franz Wotawa , Arndt Mühlenfeld

DOI:

关键词: Distributed computingReduction (complexity)Clock rateSource lines of codeComputer scienceSynchronization (computer science)SpeedupDebuggingApplication serverObject-oriented programming

摘要: Multi-threaded programming is becoming more important, because physical limits prevent further speedup by increasing clock speed. Therefore, it required to make use of multiple processors. Unfortunately, multi-threading error-prone and hard find defects arise with current popular languages, mainly data races deadlocks. tools that help finding these faults are but currently available either difficult or do not scale well. This paper describes improvements the Eraser algorithm for C++ applications resulting in a drastic reduction false warnings. We present empirical results from our experiments server application comprising than 500.000 lines code.

参考文章(10)
Nicholas Nethercote, Julian Seward, Valgrind: A Program Supervision Framework Electronic Notes in Theoretical Computer Science. ,vol. 89, pp. 44- 66 ,(2003) , 10.1016/S1571-0661(04)81042-9
Scott McPeak, George C. Necula, Elkhound: A Fast, Practical GLR Parser Generator compiler construction. ,vol. 2985, pp. 73- 88 ,(2003) , 10.1007/978-3-540-24723-4_6
Jerry J. Harrow, Runtime Checking of Multithreaded Applications with Visual Threads international workshop on model checking software. pp. 331- 342 ,(2000) , 10.1007/10722468_20
Stefan Savage, Michael Burrows, Greg Nelson, Patrick Sobalvarro, Thomas Anderson, Eraser: a dynamic data race detector for multithreaded programs ACM Transactions on Computer Systems. ,vol. 15, pp. 391- 411 ,(1997) , 10.1145/265924.265927
Ayal Itzkovitz, Assaf Schuster, Oren Zeev-Ben-Mordehai, Toward Integration of Data Race Detection in DSM Systems Journal of Parallel and Distributed Computing. ,vol. 59, pp. 180- 203 ,(1999) , 10.1006/JPDC.1999.1574
Yuan Yu, Tom Rodeheffer, Wei Chen, RaceTrack: efficient detection of data race conditions via adaptive tracking symposium on operating systems principles. ,vol. 39, pp. 221- 234 ,(2005) , 10.1145/1095809.1095832
Robert O'Callahan, Jong-Deok Choi, Hybrid dynamic data race detection acm sigplan symposium on principles and practice of parallel programming. ,vol. 38, pp. 167- 178 ,(2003) , 10.1145/781498.781528
Jong-Deok Choi, Keunwoo Lee, Alexey Loginov, Robert O'Callahan, Vivek Sarkar, Manu Sridharan, Efficient and precise datarace detection for multithreaded object-oriented programs Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation - PLDI '02. ,vol. 37, pp. 258- 269 ,(2002) , 10.1145/512529.512560
Leslie Lamport, Time, clocks, and the ordering of events in a distributed system Communications of the ACM. ,vol. 21, pp. 558- 565 ,(1978) , 10.1145/359545.359563