Sciweavers

EUROSYS
2011
ACM

Finding complex concurrency bugs in large multi-threaded applications

13 years 3 months ago
Finding complex concurrency bugs in large multi-threaded applications
Parallel software is increasingly necessary to take advantage of multi-core architectures, but it is also prone to concurrency bugs which are particularly hard to avoid, find, and fix, since their occurrence depends on specific thread interleavings. In this paper we propose a concurrency bug detector that automatically identifies when an execution of a program triggers a concurrency bug. Unlike previous concurrency bug detectors, we are able to find two particularly hard classes of bugs. The first are bugs that manifest themselves by subtle violation of application semantics, such as returning an incorrect result. The second are latent bugs, which silently corrupt internal data structures, and are especially hard to detect because when these bugs are triggered they do not become immediately visible. PIKE detects these concurrency bugs by checking both the output and the internal state of the application for linearizability at the level of user requests. This paper presents this ...
Pedro Fonseca, Cheng Li, Rodrigo Rodrigues
Added 28 Aug 2011
Updated 28 Aug 2011
Type Journal
Year 2011
Where EUROSYS
Authors Pedro Fonseca, Cheng Li, Rodrigo Rodrigues
Comments (0)