Wang, P;
Krinke, J;
Zhou, X;
Lu, K;
(2019)
AVPredictor: Comprehensive prediction and detection of atomicity violations.
Concurrency and Computation: Practice and Experience
, 31
(15)
, Article e5160. 10.1002/cpe.5160.
Preview |
Text
cpe19.pdf - Accepted Version Download (410kB) | Preview |
Abstract
Concurrency bugs, such as atomicity-violation bugs, are difficult to detect due to the uncertainty of threadscheduling. 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.
Type: | Article |
---|---|
Title: | AVPredictor: Comprehensive prediction and detection of atomicity violations |
Open access status: | An open access version is available from UCL Discovery |
DOI: | 10.1002/cpe.5160 |
Publisher version: | https://doi.org/10.1002/cpe.5160 |
Language: | English |
Additional information: | This version is the author accepted manuscript. For information on re-use, please refer to the publisher’s terms and conditions. |
Keywords: | Concurrency Bug; Atomicity-violation Bug; Candidate Interleaving; Group Verification; Prediction-based Detection |
UCL classification: | UCL UCL > Provost and Vice Provost Offices UCL > Provost and Vice Provost Offices > UCL BEAMS UCL > Provost and Vice Provost Offices > UCL BEAMS > Faculty of Engineering Science UCL > Provost and Vice Provost Offices > UCL BEAMS > Faculty of Engineering Science > Dept of Computer Science |
URI: | https://discovery.ucl.ac.uk/id/eprint/10066063 |
Archive Staff Only
View Item |