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

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

1 2 next

  1. Chatterjee, Krishnendu; De Alfaro, Luca; Faella, Marco; Majumdar, Rupak; Raman, Vishwanath: Code aware resource management (2013)
  2. Ritson, Carl G.; Sampson, Adam T.; Barnes, Frederick R.M.: Multicore scheduling for lightweight communicating processes (2012)
  3. 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)
  4. Donaldson, Alastair F.; Kroening, Daniel; Rümmer, Philipp: Automatic analysis of DMA races using model checking and $k$-induction (2011)
  5. Wang, Chao; Kundu, Sudipta; Limaye, Rhishikesh; Ganai, Malay; Gupta, Aarti: Symbolic predictive analysis for concurrent programs (2011)
  6. Carver, Richard H.; Lei, Yu: A class library for implementing, testing, and debugging concurrent programs (2010)
  7. Harmanci, Derin; Gramoli, Vincent; Felber, Pascal; Fetzer, Christof: Extensible transactional memory testbed (2010)
  8. Martin, Jean-Phillipe; Hicks, Michael; Costa, Manuel; Akritidis, Periklis; Castro, Miguel: Dynamically checking ownership policies in concurrent C/C++ programs (2010)
  9. Vechev, Martin; Yahav, Eran; Raman, Raghavan; Sarkar, Vivek: Automatic verification of determinism for structured parallel programs (2010)
  10. Kidd, Nicholas; Reps, Thomas; Dolby, Julian; Vaziri, Mandana: Finding concurrency-related bugs using random isolation (2009)
  11. Kim, Moonzoo; Hong, Shin; Hong, Changki; Kim, Taeho: Model-based kernel testing for concurrency bugs through counter example replay (2009)
  12. Russo, Alejandro; Sabelfeld, Andrei: Securing interaction between threads and the scheduler in the presence of synchronization (2009)
  13. Kahlon, Vineet; Yang, Yu; Sankaranarayanan, Sriram; Gupta, Aarti: Fast and accurate static data-race detection for concurrent programs (2007)
  14. Mühlenfeld, Arndt; Wotawa, Franz: Fault detection in multi-threaded C++ server applications. (2007)
  15. Eytani, Yaniv: Concurrent Java test generation as a search problem. (2006)
  16. Stolz, Volker; Bodden, Eric: Temporal assertions using aspectj. (2006)
  17. Artho, Cyrille; Biere, Armin: Combined static and dynamic analysis. (2005)
  18. Briand, L.C.; Labiche, Y.; Cui, J.: Automated support for deriving test requirements from UML statecharts (2005)
  19. Briand, L.C.; Labiche, Y.; Cui, J.: Automated support for deriving test requirements from UML statecharts (2005)
  20. Roşu, Grigore; Havelund, Klaus: Rewriting-based techniques for runtime verification (2005)

1 2 next