Seminars at the Faculty of Informatics

Fully Automatic and Precise Detection of Thread Safety Violations

The Faculty of Informatics is pleased to announce a seminar given by Michael Pradel

DATE: Tuesday, June 4th 2013
PLACE: USI Lugano Campus, room SI-008, Informatics building (Via G. Buffi 13)
TIME: 11.30

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 hand-written tests and explicit specifications. The analysis finds 15 concurrency bugs in popular Java libraries, including two previously unknown bugs in the Java standard library.

Michael Pradel is a postdoctoral researcher and lecturer at ETH Zurich. His primary research interests are in the area of software engineering and programming languages. In particular, he is interested in automated program analyses for finding programming errors. Michael received his Ph.D. from ETH Zurich in 2012. He graduated in computer science at Technical University in Dresden, Germany. He also spent two years at Ecole Centrale Paris, France, where he became a graduate engineer, and visited EPFL, Switzerland, to pursue his master thesis

HOST: Prof. Matthias Hauswirth