@inproceedings{94ebdb8f6540431691cadec887f7cb28,
title = "Valor: Efficient, software-only region conflict exceptions",
abstract = "Data races complicate programming language semantics, and a data race is often a bug. Existing techniques detect data races and define their semantics by detecting conflicts between synchronization-free regions (SFRs). However, such techniques either modify hardware or slow programs dramatically, preventing always-on use today. This paper describes Valor, a sound, precise, software-only region conflict detection analysis that achieves high performance by eliminating the costly analysis on each read operation that prior approaches require. Valor instead logs a region's reads and lazily detects conflicts for logged reads when the region ends. As a comparison, we have also developed FastRCD, a conflict detector that leverages the epoch optimization strategy of the FastTrack data race detector. We evaluate Valor, FastRCD, and FastTrack, showing that Valor dramatically outperforms FastRCD and FastTrack. Valor is the first region conflict detector to provide strong semantic guarantees for racy program executions with under 2X slowdown. Overall, Valor advances the state of the art in always-on support for strong behavioral guarantees for data races.",
keywords = "Conflict exceptions, Data races, Dynamic analysis, Region serializability",
author = "Swarnendu Biswas and Minjia Zhang and Bond, {Michael D.} and Brandon Lucia",
note = "Publisher Copyright: {\textcopyright} 2015 ACM.; 2015 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2015 ; Conference date: 25-10-2015 Through 30-10-2015",
year = "2015",
month = oct,
doi = "10.1145/2814270.2814292",
language = "English (US)",
series = "ACM SIGPLAN Notices",
publisher = "Association for Computing Machinery",
pages = "241--259",
editor = "Patrick Eugster and Jonathan Aldrich",
booktitle = "OOPSLA 2015 - Proceedings of the 2015 ACM SIGPLAN International Conference on Object-Oriented Programming Systems, Languages, and Applications",
address = "United States",
}