Sciweavers

ASPLOS
2012
ACM

Applying transactional memory to concurrency bugs

12 years 8 months ago
Applying transactional memory to concurrency bugs
Multithreaded programs often suffer from synchronization bugs such as atomicity violations and deadlocks. These bugs arise from complicated locking strategies and ad hoc synchronization methods to avoid the use of locks. A survey of the bug databases of major open-source applications shows that concurrency bugs often take multiple fix attempts, and that fixes often introduce yet more concurrency bugs. Transactional memory (TM) enables programmers to declare regions of code atomic without specifying a lock and has the potential to avoid these bugs. Where most previous studies have focused on using TM to write new programs from scratch, we consider its utility in fixing existing programs with concurrency bugs. We therefore investigate four methods of using TM on three concurrent programs. Overall, we find that 29% of the bugs are not fixable by transactional memory, showing that TM does not address many important types of concurrency bugs. In particular, TM works poorly with extrem...
Haris Volos, Andres Jaan Tack, Michael M. Swift, S
Added 20 Apr 2012
Updated 20 Apr 2012
Type Journal
Year 2012
Where ASPLOS
Authors Haris Volos, Andres Jaan Tack, Michael M. Swift, Shan Lu
Comments (0)