Benjamin P. Wood

dblp:94/8636 · DBLP profile ↗
← Back
8ranked-venue papers
3as first author
0since 2021 · last 2017
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 7 · 3 first-authorSystems, architecture and hardware · 3 · 1 first-author

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Software engineering, system software, and programming languages
5 papers
Concurrent programming · 78% Runtime systems and virtual machines · 11% Debugging and program repair · 5%
Computer architecture, parallel and distributed computing, and storage systems
2 papers
Parallel and multicore computing · 64% Processor architecture and microarchitecture · 36%

Topics — the 13 heaviest of 15, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Concurrent programming › concurrency bug detection
data race detection
0.742017
Instrumentation bias for dynamic data race detection · Proc. ACM Program. Lang. 2017
Low-level detection of language-level data races with LARD · ASPLOS 2014
RADISH: Always-on sound and complete race detection in software and hardware · ISCA 2012
Concurrent programming › concurrency bug detection › data race detection
dynamic race detection
0.422017
Instrumentation bias for dynamic data race detection · Proc. ACM Program. Lang. 2017
RADISH: Always-on sound and complete race detection in software and hardware · ISCA 2012
Concurrent programming
synchronization
0.312017
Instrumentation bias for dynamic data race detection · Proc. ACM Program. Lang. 2017
Parallel and multicore computing › concurrent programming
concurrency bugs
0.312017
PARSNIP: performant architecture for race safety with no impact on precision · MICRO 2017
Parallel and multicore computing › parallel computing › parallel program debugging
data race detection
0.312017
PARSNIP: performant architecture for race safety with no impact on precision · MICRO 2017
Processor architecture and microarchitecture › debugging support
race detection hardware
0.312017
PARSNIP: performant architecture for race safety with no impact on precision · MICRO 2017
Runtime systems and virtual machines › virtual machine implementation
java virtual machine
0.322017
Low-level detection of language-level data races with LARD · ASPLOS 2014
Instrumentation bias for dynamic data race detection · Proc. ACM Program. Lang. 2017
Concurrent programming
concurrency bugs
0.122011
Composable specifications for structured shared-memory communication · OOPSLA 2010
Isolating and understanding concurrency errors using reconstructed execution fragments · PLDI 2011
Concurrent programming › concurrency bug detection › data race detection
hardware-assisted race detection
0.112012
RADISH: Always-on sound and complete race detection in software and hardware · ISCA 2012
Debugging and program repair
concurrent program debugging
0.112011
Isolating and understanding concurrency errors using reconstructed execution fragments · PLDI 2011
Program analysis
dynamic analysis
0.112010
Composable specifications for structured shared-memory communication · OOPSLA 2010
Concurrent programming › concurrency bugs
data races
0.012011
Isolating and understanding concurrency errors using reconstructed execution fragments · PLDI 2011
Programming languages and type systems
specification language
0.012010
Composable specifications for structured shared-memory communication · OOPSLA 2010

Methods — techniques the papers use, named apart from their topics

dynamic analysis · 0.4instrumentation bias · 0.3cooperative ownership-based synchronization · 0.3simulation · 0.2hardware race detector · 0.2inter-thread communication analysis · 0.1formal semantics · 0.1
YearPublicationVenuePosition
2017 Lightweight data race detection for production runs
Swarnendu Biswas, Man Cao, Minjia Zhang, Michael D. Bond, Benjamin P. Wood
CC5
2017 PARSNIP: performant architecture for race safety with no impact on precision
abstract
Data race detection is a useful dynamic analysis for multithreaded programs that is a key building block in record-and-replay, enforcing strong consistency models, and detecting concurrency bugs. Existing software race detectors are precise but slow, and hardware support for precise data race detection relies on assumptions like type safety that many programs violate in practice.
Yuanfeng Peng, Benjamin P. Wood, Joseph Devietti
MICRO2
2017 Instrumentation bias for dynamic data race detection
abstract
This paper presents Fast Instrumentation Bias (FIB), a sound and complete dynamic data race detection algorithm that improves performance by reducing or eliminating the costs of analysis atomicity. In addition to checking for errors in target programs, dynamic data race detectors must introduce synchronization to guard against metadata races that may corrupt analysis state and compromise soundness or completeness. Pessimistic analysis synchronization can account for nontrivial performance overhead in a data race detector. The core contribution of FIB is a novel cooperative ownership-based synchronization protocol whose states and transitions are derived purely from preexisting analysis metadata and logic in a standard data race detection algorithm. By exploiting work already done by the analysis, FIB ensures atomicity of dynamic analysis actions with zero additional time or space cost in the common case. Analysis of temporally thread-local or read-shared accesses completes safely with no synchronization. Uncommon write-sharing transitions require synchronous cross-thread coordination to ensure common cases may proceed synchronization-free. We implemented FIB in the Jikes RVM Java virtual machine. Experimental evaluation shows that FIB eliminates nearly all instrumentation atomicity costs on programs where data often experience windows of thread-local access. Adaptive extensions to the ownership policy effectively eliminate high coordination costs of the core ownership protocol on programs with high rates of serialized sharing. FIB outperforms a naive pessimistic synchronization scheme by 50% on average. Compared to a tuned optimistic metadata synchronization scheme based on conventional fine-grained atomic compare-and-swap operations, FIB is competitive overall, and up to 17% faster on some programs. Overall, FIB effectively exploits latent analysis and program invariants to bring strong integrity guarantees to an otherwise unsynchronized data race detection algorithm at minimal cost.
Benjamin P. Wood, Man Cao, Michael D. Bond, Dan Grossman
Proc. ACM Program. Lang.1
2014 Low-level detection of language-level data races with LARD
abstract
Researchers have proposed always-on data-race exceptions as a way to avoid the ill effects of data races, but slow performance of accurate dynamic data-race detection remains a barrier to the adoption of always-on data-race exceptions. Proposals for accurate low-level (e.g., hardware) data-race detection have the potential to reduce this performance barrier. This paper explains why low-level data-race detectors are wrong for programs written in high-level languages (e.g., Java): they miss true data races and report false data races in these programs. To bring the benefits of low-level data-race detection to high-level languages, we design low-level abstractable race detection (LARD), an extension of the interface between low-level data-race detectors and run-time systems that enables accurate language-level data-race detection using low-level detection mechanisms. We implement accurate LARD data-race exception support for Java, coupling a modified Jikes RVM Java virtual machine and a simulated hardware race detector. We evaluate our detector's accuracy against an accurate dynamic Java data-race detector and other low-level race detectors without LARD, showing that naive accurate nlow-level data-race detectors suffer from many missed and false language-level races in practice, and that LARD prevents this inaccuracy.
Benjamin P. Wood, Luis Ceze, Dan Grossman
ASPLOS1
2012 Cloud Types for Eventual Consistency
Sebastian Burckhardt, Manuel Fähndrich, Daan Leijen, Benjamin P. Wood
ECOOP4
2012 RADISH: Always-on sound and complete race detection in software and hardware
abstract
Data-race freedom is a valuable safety property for multithreaded programs that helps with catching bugs, simplifying memory consistency model semantics, and verifying and enforcing both atomicity and determinism. Unfortunately, existing software-only dynamic race detectors are precise but slow; proposals with hardware support offer higher performance but are imprecise. Both precision and performance are necessary to achieve the many advantages always-on dynamic race detection could provide.
Joseph Devietti, Benjamin P. Wood, Karin Strauss, Luis Ceze, Dan Grossman, Shaz Qadeer
ISCA2
2011 Isolating and understanding concurrency errors using reconstructed execution fragments
abstract
In this paper we propose Recon, a new general approach to concurrency debugging. Recon goes beyond just detecting bugs, it also presents to the programmer short fragments of buggy execution schedules that illustrate how and why bugs happened. These fragments, called reconstructions, are inferred from inter-thread communication surrounding the root cause of a bug and significantly simplify the process of understanding bugs.
Brandon Lucia, Benjamin P. Wood, Luis Ceze
PLDI2
2010 Composable specifications for structured shared-memory communication
abstract
In this paper we propose a communication-centric approach to specifying and checking how multithreaded programs use shared memory to perform inter-thread communication. Our approach complements past efforts for improving the safety of multithreaded programs such as race detection and atomicity checking. Unlike prior work, we focus on what pieces of code are allowed to communicate with one another, as opposed to declaring what data items are shared or what code blocks should be atomic. We develop a language that supports composable specifications at multiple levels of abstraction and that allows libraries to specify whether or not shared-memory communication is exposed to clients. The precise meaning of a specification is given with a formal semantics we present. We have developed a dynamic-analysis tool for Java that observes program execution to see if it obeys a specification. We report results for using the tool on several benchmark programs to which we added specifications, concluding that our approach matches the modular structure of multithreaded applications and that our tool is performant enough for use in development and testing.
Benjamin P. Wood, Adrian Sampson, Luis Ceze, Dan Grossman
OOPSLA1