Lock Removal for Concurrent Trace Programs

9 years 2 months ago
Lock Removal for Concurrent Trace Programs
Abstract. We propose a trace-based concurrent program analysis to soundly remove redundant synchronizations such as locks while preserving the behaviors of the concurrent computation. Our new method is computationally efficient in that it involves only thread-local computation and therefore avoids interleaving explosion, which is known as the main hurdle for scalable concurrency analysis. Our method builds on the partial-order theory and a unified analysis framework; therefore, it is more generally applicable than existing methods based on simple syntactic rules and ad hoc heuristics. We have implemented and evaluated the proposed method in the context of runtime verification of multithreaded Java and C programs. Our experimental results show that lock removal can significantly speed up symbolic predictive analysis for detecting concurrency bugs. Besides runtime verification, our new method will also be useful in applications such as debugging, performance optimization, program un...
Vineet Kahlon, Chao Wang
Added 28 Sep 2012
Updated 28 Sep 2012
Type Journal
Year 2012
Where CAV
Authors Vineet Kahlon, Chao Wang
Comments (0)