Randomized active atomicity violation detection in concurrent programs

14 years 17 days ago
Randomized active atomicity violation detection in concurrent programs
Atomicity is an important specification that enables programmers to understand atomic blocks of code in a multi-threaded program as if they are sequential. This significantly simplifies the programmer's job to reason about correctness. Several modern multithreaded programming languages provide no built-in support to ensure atomicity; instead they rely on the fact that programmers would use locks properly in order to guarantee that atomic code blocks are indeed atomic. However, improper use of locks can sometimes fail to ensure atomicity. Therefore, we need tools that can check atomicity properties of lock-based code automatically. We propose a randomized dynamic analysis technique to detect a special, but important, class of atomicity violations that are often found in real-world programs. Specifically, our technique modifies the existing Java thread scheduler behavior to create atomicity violations with high probability. Our approach has several advantages over existing dynamic ...
Chang-Seo Park, Koushik Sen
Added 20 Nov 2009
Updated 20 Nov 2009
Type Conference
Year 2008
Authors Chang-Seo Park, Koushik Sen
Comments (0)