A Study on Race Condition & Dynamic Data Race Detection Techniques
DOI:
https://doi.org/10.26438/ijcse/v7i6.4146Keywords:
Parallel Processing, Race Condition, Semaphore, LockSet, Happens Before, Hybrid, Dynamic Data Race DetectionAbstract
Multithreaded programming has always presented a problem of race conditions which is one of the most common programming errors. If not handled properly, can lead to bugs with the potential to crash a system. A lot of work has been done in the past for detection of data races with a view to minimise the losses. Datarace can be detected at compile time (static race detection) and at runtime (dynamic race detection). This paper presents a study to understand the concept of parallel programming, race condition, semaphore, synchronization. We have also put in a detailed view on various techniques developed so far for dynamic data race detection.
References
[1] K. H. Eric Baudden, "Aspect Oriented Race Detection in Java," IEEE Transactions on Software Engineering, 2010.
[2] T. I. Konstantin Serebryany, "ThreadSanitizer - Data Race Detection in Practice," Communications of ACM, 2009.
[3] S. N. F. Cormac Flanagan, "Type Based Race Detection for Java," ACM, 2000.
[4] M. R. C Boyapati, "A prameterized type system for race free java program," ACM, 2001.
[5] R. E. S. A. T. David F Bacon, "Guava: A Dialect of Java without datarace," ACM, 2000.
[6] M. B. G. N. P. S. t. A. Stefan Savage, "Eraser: A Dynamic Data Race Detector for Multithreaded Programs," ACM Transactions on Computer Systems, vol. 15, no. 4, pp. 391-411, 1997.
[7] C. A. R. Hoare, "Monitors: An Operating Systems Structuring Concept," Communications of ACM, vol. 17, no. 10, 1974.
[8] L. Lamport, "Time, Clocks, and the ordering of Events in a Distributed System," Communications of ACM, vol. 21, no. 7, 1978.
[9] F. W. Arndt Muhlenfeld, "Runtime race detection for multi-threaded C++ server applications," ACM Proceedings of the 25th conference on IASTED International Multi-Conference: Software Engineering, 2007.
[10] K. B. V. P. W. T. Ali Janessari, "Helgrind+: An efficient dynamic race detector," 23rd IEEE International Symposium on Parallel and Distributed Processing, IPDPS 2009, Rome, Italy, , 2009.
[11] Z. M. B. B. P. P. Utpal Banerjee, "A Theory of Data Race Detection," Proceedings of the 2006 workshop on Parallel and distributed systems: testing and debugging, 2006.
[12] K. L. A. L. R. O. V. S. M. S. Jong-Deok Choi, "Efficient and Precise Datarace Detection for Multithreaded Object Oriented Programs," ACM, 2002.
[13] X. T. W. T. Markus Metzger, "User Guided Dynamic Data Race Detection," International journal of Parallel Programming, 2015.
[14] D. D. P. M. C. J. F. S. N. Benjamin Wester, "Parallelizing Data Race Detection," ACM, 2013.
[15] T. I. Konstantin Serebryany, "ThreadSanitizer: data race detection in practice," ACM, 2009.
[16] Z. Q. P. W. K Leung, "Data Race: tame the beast," Springer J Supercomput, 2010.
[17] C. Z. G. C. Baris Kasikei, "RaceMob: Crowdsouced Data Race Detection," ACM, 2013.
[18] S. N. F. Cormac Flanagan, "FastTrack: Efficint and Precise Dynamic Race Detection," ACM, 2009.
[19] K. H. Eric Boden, "Racer: Effective Race Detection using AspectJ," ACM, 2008.
Downloads
Published
How to Cite
Issue
Section
License
Copyright (c) 2019 Dubey MK, Lowe D, Galhotra B

This work is licensed under a Creative Commons Attribution 4.0 International License.
Authors contributing to this journal agree to publish their articles under the Creative Commons Attribution 4.0 International License, allowing third parties to share their work (copy, distribute, transmit) and to adapt it, under the condition that the authors are given credit and that in the event of reuse or distribution, the terms of this license are made clear.
