PaRV: Parallelizing Runtime Detection and Prevention of Concurrency Errors [chapter]

Ismail Kuru, Hassan Salehe Matar, Adrián Cristal, Gokcen Kestor, Osman Unsal
2013 Lecture Notes in Computer Science  
We present the PaRV tool for runtime detection of and recovery from data races in multi-threaded C and C++ programs. PaRV uses transactional memory technology for parallelizing runtime verification and for buffering write accesses during race checking. Application threads are slowed down only due to instrumentation, but not due to the computation performed by runtime verification algorithms since the latter are run concurrently on different threads. Buffering writes allows us to recover from races and to safeguard against later ones.
doi:10.1007/978-3-642-35632-2_6 fatcat:abceyf5mwbe2tf4sgp22n7f5b4