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.
Highlights
To efficiently utilize hardware resources, concurrent programs are widely developed and adopted in modern multi-core hardware platforms
Concurrent programs are prone to concurrency errors [1]–[3] and it is challenging to debug, detect and repair concurrency errors
It can be seen from the figure that with the widespread adoption of multi-threaded programming, security loopholes caused by data race have increased in recent years
Summary
To efficiently utilize hardware resources, concurrent programs are widely developed and adopted in modern multi-core hardware platforms. Concurrency errors would cause incorrect outputs, data losses and even system crashes [4]–[6]. They have become a great threat to modern concurrent systems. The number of security loopholes caused by data was around 100 in 2019. It can be seen from the figure that with the widespread adoption of multi-threaded programming, security loopholes caused by data race have increased in recent years
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.