Eraser

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 35 articles )

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

1 2 next

  1. Lidbury, Christopher; Donaldson, Alastair F.: Dynamic race detection for C++11 (2017)
  2. Mukherjee, Suvam; Kumar, Arun; D’Souza, Deepak: Detecting all high-level dataraces in an RTOS kernel (2017)
  3. Pun, Ka I; Steffen, Martin; Stolz, Volker: Effect-polymorphic behaviour inference for deadlock checking (2016)
  4. Tabaei Befrouei, Mitra; Wang, Chao; Weissenbacher, Georg: Abstraction and mining of traces to explain concurrency bugs (2016)
  5. Chatterjee, Krishnendu; De Alfaro, Luca; Faella, Marco; Majumdar, Rupak; Raman, Vishwanath: Code aware resource management (2013)
  6. Gligoric, Milos; Majumdar, Rupak: Model checking database applications (2013)
  7. Ritson, Carl G.; Sampson, Adam T.; Barnes, Frederick R. M.: Multicore scheduling for lightweight communicating processes (2012) ioport
  8. 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)
  9. Donaldson, Alastair F.; Haller, Leopold; Kroening, Daniel: Strengthening induction-based race checking with lightweight static analysis (2011)
  10. Donaldson, Alastair F.; Kroening, Daniel; Rümmer, Philipp: Automatic analysis of DMA races using model checking and $k$-induction (2011)
  11. Wang, Chao; Kundu, Sudipta; Limaye, Rhishikesh; Ganai, Malay; Gupta, Aarti: Symbolic predictive analysis for concurrent programs (2011)
  12. Carver, Richard H.; Lei, Yu: A class library for implementing, testing, and debugging concurrent programs (2010) ioport
  13. Harmanci, Derin; Gramoli, Vincent; Felber, Pascal; Fetzer, Christof: Extensible transactional memory testbed (2010)
  14. Martin, Jean-Phillipe; Hicks, Michael; Costa, Manuel; Akritidis, Periklis; Castro, Miguel: Dynamically checking ownership policies in concurrent C/C++ programs (2010)
  15. Vechev, Martin; Yahav, Eran; Raman, Raghavan; Sarkar, Vivek: Automatic verification of determinism for structured parallel programs (2010)
  16. Kidd, Nicholas; Reps, Thomas; Dolby, Julian; Vaziri, Mandana: Finding concurrency-related bugs using random isolation (2009)
  17. Russo, Alejandro; Sabelfeld, Andrei: Securing interaction between threads and the scheduler in the presence of synchronization (2009)
  18. Wang, Chao; Yang, Yu; Gupta, Aarti; Gopalakrishnan, Ganesh: Dynamic model checking with property driven pruning to detect race conditions (2008)
  19. Kahlon, Vineet; Yang, Yu; Sankaranarayanan, Sriram; Gupta, Aarti: Fast and accurate static data-race detection for concurrent programs (2007)
  20. Briand, L. C.; Labiche, Y.; Cui, J.: Automated support for deriving test requirements from UML statecharts (2005) ioport

1 2 next