AVPredictor: Comprehensive prediction and detection of atomicity violations
AVPredictor: Comprehensive prediction and detection of atomicity violations
复制标题
DOI:
10.1002/cpe.5160
复制
发表时间:
2019-02
期刊:
影响因子:
--
通讯作者:
Pengfei Wang;J. Krinke;Xu Zhou;Kai Lu
中科院分区:
文献类型:
--
作者:
Pengfei Wang;J. Krinke;Xu Zhou;Kai Lu
Concurrency bugs, such as atomicity‐violation bugs, are difficult to detect due to the uncertainty of thread‐scheduling. It is particularly difficult to conduct a thorough bug fix when an atomicity‐violation bug can be triggered by different buggy interleavings. This paper proposes a prediction‐based approach to comprehensively detect atomicity‐violation bugs. A bug fix can be incomplete when the developer cannot have all the buggy interleavings. Based on the candidate interleavings, this approach can predict unmanifested atomicity‐violation bugs from a non‐buggy execution and comprehensively display all the buggy interleavings for the same bug to assist a thorough fix. We use a monitored execution to record execution traces and predict potential buggy interleavings based on the candidate interleavings identified from the trace. Then, we use controlled executions to verify the predicted buggy interleavings by controlling the thread‐scheduling. We implemented a prototype tool called AVPredictor and evaluated it with real‐world tests. Experiments show that AVPredictor can effectively find all the known atomicity‐violation bugs as well as a previously unknown bug together with all the buggy interleavings for each bug. The runtime overhead is 13x for the monitored execution and 18x for the controlled execution.