AVIO: Detecting Atomicity Violations via Access-Interleaving Invariants
نویسندگان
چکیده
منابع مشابه
HAVE: Detecting Atomicity Violations via Integrated Dynamic and Static Analysis
The reality of multi-core hardware has made concurrent programs pervasive. Unfortunately, writing correct concurrent programs is difficult. Atomicity violation, which is caused by concurrent executions unexpectedly violating the atomicity of a certain code region, is one of the most common concurrency errors. However, atomicity violation bugs are hard to find using traditional testing and debug...
متن کاملPredicting Atomicity Violations in Concurrent Programs via Planning
Testing concurrent programs is more difficult than testing sequential programs due to the interleaving explosion problem: even for a fixed program input, there are numerous different runs that need to be tested to account for scheduler behaviour. Testing all such interleavings is not practical. Consequently, most effective testing algorithms attempt to generate runs that are likely to manifest ...
متن کاملPrecise Detection of Atomicity Violations
Concurrent programs that are free of unsynchronized accesses to shared data may still exhibit unpredictable concurrency errors, called atomicity violations, which include both high-level dataraces and stale-value errors. Atomicity violations occur when programmers make wrong assumptions about the atomicity scope of a code block, incorrectly splitting it in two or more atomic blocks and allow th...
متن کاملPreventing Atomicity Violations with Contracts
Software developers are expected to protect concurrent accesses to shared regions of memory with some mutual exclusion primitive that ensures atomicity properties to a sequence of program statements. This approach prevents data races but may fail to provide all necessary correctness properties.The composition of correlated atomic operations without further synchronization may cause atomicity vi...
متن کاملDetecting interleaving
The various goals and requirements of a system are realized in software as fragments of code that are typi cally interleaved in that they may be woven together in the same contiguous textual area of code The frag ments of code are often delocalized and overlap rather than being composed in a simple linear sequence In terleaving severely complicates software comprehen sion and maintenance To add...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
ژورنال
عنوان ژورنال: IEEE Micro
سال: 2007
ISSN: 0272-1732
DOI: 10.1109/mm.2007.5