IEEE Access (Jan 2020)
PVcon: Localizing Hidden Concurrency Errors With Prediction and Verification
Abstract
Multi-core techniques have been widely used in various hardware platforms, promoting development of concurrent programs. Unfortunately, concurrent programs are prone to concurrency errors. At present, it is still an open issue to provide high coverage detection of concurrency errors. In this paper, we present an enhanced dynamic concurrency error detection technique, called PVcon, which can detect more concurrency errors than existing techniques. PVcon first finds suspicious locations of concurrency errors by applying a novel relation, elastic-causalities (EC), and then strictly verifies each suspicious concurrency errors with a lightweight intentional scheduling technique. We have implemented PVcon in C/C++ and evaluated it by localizing concurrency errors from real-world programs. The experimental results show that PVcon can efficiently detect twice more concurrency errors than other techniques.
Keywords