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

Showing results 1 to 20 of 33.
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. Chatterjee, Krishnendu; De Alfaro, Luca; Faella, Marco; Majumdar, Rupak; Raman, Vishwanath: Code aware resource management (2013)
  5. Ritson, Carl G.; Sampson, Adam T.; Barnes, Frederick R.M.: Multicore scheduling for lightweight communicating processes (2012) ioport
  6. 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)
  7. Donaldson, Alastair F.; Haller, Leopold; Kroening, Daniel: Strengthening induction-based race checking with lightweight static analysis (2011)
  8. Donaldson, Alastair F.; Kroening, Daniel; Rümmer, Philipp: Automatic analysis of DMA races using model checking and $k$-induction (2011)
  9. Wang, Chao; Kundu, Sudipta; Limaye, Rhishikesh; Ganai, Malay; Gupta, Aarti: Symbolic predictive analysis for concurrent programs (2011)
  10. Carver, Richard H.; Lei, Yu: A class library for implementing, testing, and debugging concurrent programs (2010) ioport
  11. Harmanci, Derin; Gramoli, Vincent; Felber, Pascal; Fetzer, Christof: Extensible transactional memory testbed (2010)
  12. Martin, Jean-Phillipe; Hicks, Michael; Costa, Manuel; Akritidis, Periklis; Castro, Miguel: Dynamically checking ownership policies in concurrent C/C++ programs (2010)
  13. Vechev, Martin; Yahav, Eran; Raman, Raghavan; Sarkar, Vivek: Automatic verification of determinism for structured parallel programs (2010)
  14. Kidd, Nicholas; Reps, Thomas; Dolby, Julian; Vaziri, Mandana: Finding concurrency-related bugs using random isolation (2009)
  15. Russo, Alejandro; Sabelfeld, Andrei: Securing interaction between threads and the scheduler in the presence of synchronization (2009)
  16. Wang, Chao; Yang, Yu; Gupta, Aarti; Gopalakrishnan, Ganesh: Dynamic model checking with property driven pruning to detect race conditions (2008)
  17. Kahlon, Vineet; Yang, Yu; Sankaranarayanan, Sriram; Gupta, Aarti: Fast and accurate static data-race detection for concurrent programs (2007)
  18. Briand, L.C.; Labiche, Y.; Cui, J.: Automated support for deriving test requirements from UML statecharts (2005) ioport
  19. Briand, L.C.; Labiche, Y.; Cui, J.: Automated support for deriving test requirements from UML statecharts (2005) ioport
  20. Roşu, Grigore; Havelund, Klaus: Rewriting-based techniques for runtime verification (2005) ioport

1 2 next