Master'sOpen Access

Dynamic data race detection in concurrent programs

Is this your thesis?

This record came from a bulk archive import. If it’s yours, link it to your profile.

2014
0 views
0 downloads

Abstract (EN)

Recent advances in hardware drive software to be more concurrent than ever. Concurrency in software is achieved by multithreading, which creates verification challenges. These challenges include problems such as deadlocks, race conditions and atomicity violations, all of which are notoriously difficult to detect due to the non-deterministic nature of concurrent software. Data races result from the concurrent access of shared data by multiple threads and can result in unexpected program behaviors. In this thesis, we describe techniques to detect data races in multithreaded applications. We developed a hybrid algorithm that is a combination of the state-of-the-art happens-before and lockset data race detection algorithms. We take advantage of lockset algorithm and happens-before algorithm for discarding false negatives and false positives, respectively. Our algorithm works on the binary of the program (without the need for the source code), hence makes it applicable to industrially-deployed software. Since it is a dynamic technique, it has execution time and memory overhead. We utilized the concept of segments to decrease these overheads, where a segment is formed by consecutive memory accesses of a single thread. We performed experiments to validate the effectiveness of our hybrid race detector by comparing it with a happens-before and lockset-based race detector. Our experiments on several benchmarks showed that our hybrid detector is 20\% faster than happens-before detector and produces 50\% less potential data races than the lockset detector. We proposed four different optimizations to further decrease the execution time and enhance the usability.

Author

Önder Kalacı

How to Cite

Önder Kalacı (Master Thesis). Dynamic data race detection in concurrent programs, 2014, Boğaziçi University.

Keywords

License

Tüm Hakları Saklıdır

This work is shared under the specified license terms.

More theses from Boğaziçi University