一句话:提出周期性调度的受控并发测试技术 Period,系统探索线程交错以更高效检测并发缺陷。
受控并发测试(CCT)通过控制线程执行顺序来探索并发程序的交错空间,是检测并发缺陷的有前途技术,但现有方法仍面临效果不佳和缺乏系统性的挑战。本文提出一种新的 CCT 技术 Period:它将并发程序的执行建模为周期性执行,并系统探索可能的交错空间;探索过程由周期性调度引导,并受到先前已测试交错的影响。作者在 10 个真实 CVE 和 36 个广泛使用的基准程序上评估 Period。实验结果表明,Period 在缺陷检测有效性和运行时开销方面均优于其他 CCT 技术,并在真实程序中发现 5 个此前未知的并发缺陷。
Controlled concurrency testing (CCT) techniques have been shown promising for concurrency bug detection. Their key insight is to control the order in which threads get executed, and attempt to explore the space of possible interleavings of a concurrent program to detect bugs. However, various challenges remain in current CCT techniques, rendering them ineffective and ad-hoc. In this paper, we propose a novel CCT technique Period. Unlike previous works, Period models the execution of concurrent programs as periodical execution, and systematically explores the space of possible inter-leavings, where the exploration is guided by periodical scheduling and influenced by previously tested interleavings. We have evaluated Period on 10 real-world CVEs and 36 widely-used benchmark programs, and our experimental results show that Period demonstrates superiority over other CCT techniques in both effectiveness and runtime overhead. Moreover, we have discovered 5 previously unknown concurrency bugs in real-world programs.
DOI 原文 ·
@inproceedings{paperbot6912,
title = {Controlled concurrency testing via periodical scheduling},
author = {Cheng Wen and Mengda He and Bohao Wu and Zhiwu Xu and Shengchao Qin},
booktitle = {ICSE},
year = {2022},
doi = {10.1145/3510003.3510178}
}