ConditionR - A Static Data Race Detection Tool for C++11

Brugnoni, Silvano (2015) ConditionR - A Static Data Race Detection Tool for C++11. Masters thesis, HSR Hochschule für Technik Rapperswil.

[thumbnail of MA-digital-silvano-brugnoni.pdf]
MA-digital-silvano-brugnoni.pdf - Supplemental Material

Download (12MB) | Preview


The widespread use and popularity of multiprocessors in today’s computing world has incentivized many developers to start writing concurrent software, which in turn has lead many modern object-oriented languages to provide support for multi-threading. With the release C++11
standard, the C++ language has followed this trend as well by introducing a brand new threading library.

However, writing and debugging multi-threaded code is difficult. Simple errors in synchronization can produce timing-dependent data races that can take weeks or months to track down.
The goal of this project is to build a static analysis tool that provides automatic detection of data races in concurrent C++11 source code, in order to help developers write multi-threaded C++ code. The foundation for this tool is an algorithm that was originally developed by Prof.
Dr. Luc Bläser at the HSR Institute for Software, and currently has a patent pending under the name Efficient Static Thread-Start-Join-Sensitive Detection of Low-Level Data Races and Deadlocks at the Swiss Federal Institute of Intellectual Property.
The resulting software tool - named ConditionR - is able to detect data races in programs that use the most common C++11 concurrency features, and provides rudimentary support for interprocedural analysis across translation units. The tool is integrated into Eclipse CDT. Because
the interpretation of the algorithm results is not straightforward, the software tool features an
interactive graphical visualization of the detected data races.

Item Type: Thesis (Masters)
Subjects: Area of Application > Development Tools
Technologies > Programming Languages > C++
Technologies > Frameworks and Libraries > Eclipse
Technologies > Parallel Computing
Metatags > IFS (Institute for Software)
Divisions: Master of Advanced Studies in Human Computer Interaction Design
Depositing User: Christian Spielmann
Thesis advisor
Sommerlad, Peter
Date Deposited: 19 May 2016 06:55
Last Modified: 19 May 2016 06:55

Actions (login required)

View Item
View Item