RCanalyser: A Flexible Framework for the Detection of Data Races in Parallel Programs

  • Authors:
  • Aoun Raza;Gunther Vogel

  • Affiliations:
  • Institute of Software Technology, University of Stuttgart, Stuttgart, Germany 70569;Institute of Software Technology, University of Stuttgart, Stuttgart, Germany 70569

  • Venue:
  • Ada-Europe '08 Proceedings of the 13th Ada-Europe international conference on Reliable Software Technologies
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

Creating multiple threads for performance gain is not only common for complex computations on supercomputers but also for ordinary application programs. Multi-threaded/parallel programs have many advantages but also introduce new types of errors that do not occur in purely sequential programs. Race conditions are one important class of these special problems because the effects of race conditions occur nondeterministically and range from incorrect results to unexpected program behaviour. This paper presents RCanalyser, a tool for the detection of race conditions, which is based on a Must_Locksanalysis using a flexible interface for the integration of different points-to analyses. As the problem of detecting race conditions is NP-hard in the general case, the tool is restricted to the detection of so-called data races [1]. The tool is able to analyse C/C++programs that use thread APIs for the implementation and synchronization of concurrent units. We applied the tool to a set of real programs, which use the POSIX thread API, and present results and statistics.