A Study on Race Condition & Dynamic Data Race Detection Techniques

Authors

  • Dubey MK Lovely Professional University, Punjab, India
  • Lowe D Jagan Institute of Management Studies, Rohini, New Delhi, India
  • Galhotra B Jagan Institute of Management Studies, Rohini, New Delhi, India

DOI:

https://doi.org/10.26438/ijcse/v7i6.4146

Keywords:

Parallel Processing, Race Condition, Semaphore, LockSet, Happens Before, Hybrid, Dynamic Data Race Detection

Abstract

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

2019-06-30
CITATION
DOI: 10.26438/ijcse/v7i6.4146
Published: 2019-06-30

How to Cite

[1]
M. K. Dubey, D. Lowe, and B. Galhotra, “A Study on Race Condition & Dynamic Data Race Detection Techniques”, Int. J. Comp. Sci. Eng., vol. 7, no. 6, pp. 41–46, Jun. 2019.

Issue

Section

Survey Article