Sciweavers

PLDI
2012
ACM

Fully automatic and precise detection of thread safety violations

11 years 6 months ago
Fully automatic and precise detection of thread safety violations
Concurrent, object-oriented programs often use thread-safe library classes. Existing techniques for testing a thread-safe class either rely on tests using the class, on formal specifications, or on both. Unfortunately, these techniques often are not fully automatic as they involve the user in analyzing the output. This paper presents an automatic testing technique that reveals concurrency bugs in supposedly thread-safe classes. The analysis requires as input only the class under test and reports only true positives. The key idea is to generate tests in which multiple threads call methods on a shared instance of the tested class. If a concurrent test exhibits an exception or a deadlock that cannot be triggered in any linearized execution of the test, the analysis reports a thread safety violation. The approach is easily applicable, because it is independent of handwritten tests and explicit specifications. The analysis finds 15 concurrency bugs in popular Java libraries, including t...
Michael Pradel, Thomas R. Gross
Added 27 Sep 2012
Updated 27 Sep 2012
Type Journal
Year 2012
Where PLDI
Authors Michael Pradel, Thomas R. Gross
Comments (0)