concurrent data structures or classes are designed to provide secure access and simultaneous updates by multiple threads to shared objects in a concurrent environment, with the goal of enhancing parallelism and throug...
详细信息
ISBN:
(纸本)9783031646256;9783031646263
concurrent data structures or classes are designed to provide secure access and simultaneous updates by multiple threads to shared objects in a concurrent environment, with the goal of enhancing parallelism and throughput. However, testingconcurrent data structures poses significant challenges due to the potential explosions of concurrent test spaces, the variety of programming vulnerabilities, and the inherent nondeterminism of concurrent test executions. In this paper, we propose an Intrathread Method Orders based Adaptive Concurrency testing (IMOACT) framework for testingconcurrent data structures. IMOACT can capture diverse behaviors of interthread method pairs through characterizing concurrent execution contexts with intrathread method orders. Moreover, IMOACT can adaptively optimize concurrent test executions by generating scheduling sequences based on key scheduling points visited so far, streamlining test generation and execution organically across multiple tests. Experimental case studies with typical C/C++ concurrent data structures demonstrate that IMOACT outperforms baseline approaches. On average, IMOACT promotes the effectiveness of detecting concurrency bugs by 65%, and achieves a speedup of 2.43x compared to the underlying state-of-the-art concurrency testing approach.
暂无评论