Runtime Race Detection for Multi-Threaded C++ Server Applications

A. Mühlenfeld and F. Wotawa (Austria)

Keywords

data races, race conditions, debugging, synchronization, multi-threaded programming, object-oriented program ming

Abstract

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

Important Links:



Go Back