ABSTRACT
This paper describes experiments with the freely available tool Helgrind, results obtained by using it for debugging a server application comprising 500 kLOC. We present improvements to the run time analysis of C++ programs that result in a dramatic reduction of false warnings.
- J.-D. Choi, K. Lee, A. Loginov, R. O'Callahan, V. Sarkar, and M. Sridharan. Efficient and precise datarace detection for multithreaded object-oriented programs. In PLDI, pages 258--269, 2002. Google ScholarDigital Library
- J. J. Harrow. Runtime checking of multithreaded applications with visual threads. In K. Havelund, J. Penix, and W. Visser, editors, SPIN, volume 1885 of Lecture Notes in Computer Science, pages 331--342. Springer, 2000. Google ScholarDigital Library
- N. Nethercote and J. Seward. Valgrind: A Program Supervision Framework. Electr. Notes Theor. Comput. Sci., 89(2), 2003.Google Scholar
- R. O'Callahan and J.-D. Choi. Hybrid dynamic data race detection. In ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, pages 167--178. ACM, 2003. Google ScholarDigital Library
- S. Savage, M. Burrows, G. Nelson, P. Sobalvarro, and T. E. Anderson. Eraser: A Dynamic Data Race Detector for Multithreaded Programs. ACM Trans. Comput. Syst., 15(4):391--411, 1997. Google ScholarDigital Library
- Y. Yu, T. Rodeheffer, and W. Chen. Racetrack: efficient detection of data race conditions via adaptive tracking. In A. Herbert and K. P. Birman, editors, SOSP, pages 221--234. ACM, 2005. Google ScholarDigital Library
Index Terms
- Fault detection in multi-threaded c++ server applications
Recommendations
Fault Detection in Multi-Threaded C++ Server Applications
Due to increasing demands in processing power on the one hand, but the physical limit on CPU clock speed on the other hand, multi-threaded programming is becoming more important in current applications. Unfortunately, multi-threaded programs are prone ...
Runtime race detection for multi-threaded C++ server applications
SE'07: Proceedings of the 25th conference on IASTED International Multi-Conference: Software EngineeringMulti-threaded programming is becoming more important, because physical limits prevent further speedup by increasing clock speed. Therefore, it is required to make use of multiple processors. Unfortunately, multi-threading is error-prone and hard to ...
On-the-fly race detection in multi-threaded programs
PADTAD '08: Proceedings of the 6th workshop on Parallel and distributed systems: testing, analysis, and debuggingMulti-core chips enable parallel processing for general purpose applications. Unfortunately, parallel programs may contain synchronization defects. Such defects are difficult to detect due to nondeterministic interleavings of parallel threads. Current ...
Comments