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.
This software is also peer reviewed by journal TOMS.
Keywords for this software
References in zbMATH (referenced in 45 articles )
Showing results 1 to 20 of 45.
Sorted by year (- Andrianov, P. S.: Analysis of correct synchronization of operating system components (2020)
- Havelund, Klaus; Peled, Doron; Ulus, Dogan: First-order temporal logic monitoring with BDDs (2020)
- Lidbury, Christopher; Donaldson, Alastair F.: Dynamic race detection for C++11 (2017)
- Pun, Ka I; Steffen, Martin; Stolz, Volker: Effect-polymorphic behaviour inference for deadlock checking (2016)
- Tabaei Befrouei, Mitra; Wang, Chao; Weissenbacher, Georg: Abstraction and mining of traces to explain concurrency bugs (2016)
- Gupta, Ashutosh; Henzinger, Thomas A.; Radhakrishna, Arjun; Samanta, Roopsha; Tarrach, Thorsten: Succinct representation of concurrent trace sets (2015)
- Chatterjee, Krishnendu; De Alfaro, Luca; Faella, Marco; Majumdar, Rupak; Raman, Vishwanath: Code aware resource management (2013)
- Gligoric, Milos; Majumdar, Rupak: Model checking database applications (2013)
- Ritson, Carl G.; Sampson, Adam T.; Barnes, Frederick R. M.: Multicore scheduling for lightweight communicating processes (2012) ioport
- 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)
- Donaldson, Alastair F.; Haller, Leopold; Kroening, Daniel: Strengthening induction-based race checking with lightweight static analysis (2011)
- Donaldson, Alastair F.; Kroening, Daniel; Rümmer, Philipp: Automatic analysis of DMA races using model checking and (k)-induction (2011)
- Wang, Chao; Kundu, Sudipta; Limaye, Rhishikesh; Ganai, Malay; Gupta, Aarti: Symbolic predictive analysis for concurrent programs (2011)
- Carver, Richard H.; Lei, Yu: A class library for implementing, testing, and debugging concurrent programs (2010) ioport
- Harmanci, Derin; Gramoli, Vincent; Felber, Pascal; Fetzer, Christof: Extensible transactional memory testbed (2010)
- Leiserson, Charles E.: The Cilk++ concurrency platform (2010) ioport
- Leung, K.; Huang, Z.; Huang, Q.; Werstein, P.: Data race: tame the beast (2010) ioport
- Martin, Jean-Phillipe; Hicks, Michael; Costa, Manuel; Akritidis, Periklis; Castro, Miguel: Dynamically checking ownership policies in concurrent C/C++ programs (2010)
- Usui, Takayuki; Behrends, Reimer; Evans, Jacob; Smaragdakis, Yannis: Adaptive locks: combining transactions and locks for efficient concurrency (2010)
- Vechev, Martin; Yahav, Eran; Raman, Raghavan; Sarkar, Vivek: Automatic verification of determinism for structured parallel programs (2010)