Eraser: a dynamic data race detector for multithreaded programs. Multithreaded programming is difficult and error prone. It is easy to make a mistake in synchronization that produces a data race, yet it can be extremely hard to locate this mistake during debugging. This article describes a new tool, called Eraser, for dynamically detecting data races in lock-based multithreaded programs. Eraser uses binary rewriting techniques to monitor every shared-monory reference and verify that consistent locking behavior is observed. We present several case studies, including undergraduate coursework and a multithreaded Web search engine, that demonstrate the effectiveness of this approach.

This software is also peer reviewed by journal TOMS.

References in zbMATH (referenced in 45 articles )

Showing results 1 to 20 of 45.
Sorted by year (citations)

1 2 3 next

  1. Andrianov, P. S.: Analysis of correct synchronization of operating system components (2020)
  2. Havelund, Klaus; Peled, Doron; Ulus, Dogan: First-order temporal logic monitoring with BDDs (2020)
  3. Lidbury, Christopher; Donaldson, Alastair F.: Dynamic race detection for C++11 (2017)
  4. Pun, Ka I; Steffen, Martin; Stolz, Volker: Effect-polymorphic behaviour inference for deadlock checking (2016)
  5. Tabaei Befrouei, Mitra; Wang, Chao; Weissenbacher, Georg: Abstraction and mining of traces to explain concurrency bugs (2016)
  6. Gupta, Ashutosh; Henzinger, Thomas A.; Radhakrishna, Arjun; Samanta, Roopsha; Tarrach, Thorsten: Succinct representation of concurrent trace sets (2015)
  7. Chatterjee, Krishnendu; De Alfaro, Luca; Faella, Marco; Majumdar, Rupak; Raman, Vishwanath: Code aware resource management (2013)
  8. Gligoric, Milos; Majumdar, Rupak: Model checking database applications (2013)
  9. Ritson, Carl G.; Sampson, Adam T.; Barnes, Frederick R. M.: Multicore scheduling for lightweight communicating processes (2012) ioport
  10. Chiu, Yung-Chang; Shieh, Ce-Kuen; Huang, Tzu-Chi; Liang, Tyng-Yeu; Chu, Kuo-Chih: Data race avoidance and replay scheme for developing and debugging parallel programs on distributed shared memory systems (2011)
  11. Donaldson, Alastair F.; Haller, Leopold; Kroening, Daniel: Strengthening induction-based race checking with lightweight static analysis (2011)
  12. Donaldson, Alastair F.; Kroening, Daniel; Rümmer, Philipp: Automatic analysis of DMA races using model checking and (k)-induction (2011)
  13. Wang, Chao; Kundu, Sudipta; Limaye, Rhishikesh; Ganai, Malay; Gupta, Aarti: Symbolic predictive analysis for concurrent programs (2011)
  14. Carver, Richard H.; Lei, Yu: A class library for implementing, testing, and debugging concurrent programs (2010) ioport
  15. Harmanci, Derin; Gramoli, Vincent; Felber, Pascal; Fetzer, Christof: Extensible transactional memory testbed (2010)
  16. Leiserson, Charles E.: The Cilk++ concurrency platform (2010) ioport
  17. Leung, K.; Huang, Z.; Huang, Q.; Werstein, P.: Data race: tame the beast (2010) ioport
  18. Martin, Jean-Phillipe; Hicks, Michael; Costa, Manuel; Akritidis, Periklis; Castro, Miguel: Dynamically checking ownership policies in concurrent C/C++ programs (2010)
  19. Usui, Takayuki; Behrends, Reimer; Evans, Jacob; Smaragdakis, Yannis: Adaptive locks: combining transactions and locks for efficient concurrency (2010)
  20. Vechev, Martin; Yahav, Eran; Raman, Raghavan; Sarkar, Vivek: Automatic verification of determinism for structured parallel programs (2010)

1 2 3 next