Imperial College London

ProfessorAlastairDonaldson

Faculty of EngineeringDepartment of Computing

Professor of Programming Languages
 
 
 
//

Contact

 

+44 (0)20 7594 8266alastair.donaldson Website

 
 
//

Location

 

422Huxley BuildingSouth Kensington Campus

//

Summary

 

Publications

Citation

BibTex format

@inproceedings{Lidbury:2019:10.1145/3314221.3314635,
author = {Lidbury, C and Donaldson, AF},
doi = {10.1145/3314221.3314635},
pages = {576--593},
publisher = {ACM Press},
title = {Sparse record and replay with controlled scheduling},
url = {http://dx.doi.org/10.1145/3314221.3314635},
year = {2019}
}

RIS format (EndNote, RefMan)

TY  - CPAPER
AB - Modern applications include many sources of nondeterminism, e.g. due to concurrency, signals, and system calls that interact with the external environment. Finding and reproducing bugs in the presence of this nondeterminism has been the subject of much prior work in three main areas: (1) controlled concurrency-testing, where a custom scheduler replaces the OS scheduler to find subtle bugs; (2) record and replay, where sources of nondeterminism are captured and logged so that a failing execution can be replayed for debugging purposes; and (3) dynamic analysis for the detection of data races. We present a dynamic analysis tool for C++ applications, tsan11rec, which brings these strands of work together by integrating controlled concurrency testing and record and replay into the tsan11 framework for C++11 data race detection. Our novel twist on record and replay is a sparse approach, where the sources of nondeterminism to record can be configured per application. We show that our approach is effective at finding subtle concurrency bugs in small applications; is competitive in terms of performance with the state-of-the-art record and replay tool rr on larger applications; succeeds (due to our sparse approach) in replaying the I/O-intensive Zandronum and QuakeSpasm video games, which are out of scope for rr; but (due to limitations of our sparse approach) cannot faithfully replay applications where memory layout nondeterminism significantly affects application behaviour.
AU - Lidbury,C
AU - Donaldson,AF
DO - 10.1145/3314221.3314635
EP - 593
PB - ACM Press
PY - 2019///
SP - 576
TI - Sparse record and replay with controlled scheduling
UR - http://dx.doi.org/10.1145/3314221.3314635
UR - http://hdl.handle.net/10044/1/72652
ER -