Finalist EPFL doctorate Award 2017 – Baris Kasikci
Special distinction from the selection committee to Baris Kasikci for his thesis «Techniques for Detection, Root Cause Diagnosis, and Classification of In-Production Concurrency Bugs".
Thesis n° 6873 (2015).
Thesis director: Prof. G. Candea
Concurrency bugs are at the heart of some of the worst bugs that plague software. Concurrency bugs slow down software development because it can take months before developers can identify and fix them. In-production detection, root cause diagnosis, and classification of concurrency bugs is challenging. This is because these activities require heavyweight analyses such as exploring program paths and determining failing program inputs and schedules, all of which are not suited for software running in production. In this dissertation, we introduce:
1. Techniques to automatically detect concurrency bugs (data races and atomicity violations) in-production by combining in-house static analysis and in-production dynamic analysis.
2. A technique to automatically identify the root causes of in-production failures, with a particular emphasis on failures caused by concurrency bugs.
3. A technique that given a data race, automatically classifies it based on its consequence, allowing developers to answer questions such as “can the data race cause a crash or a hang?”, or “does the data race have any observable effect?”.
We built a toolchain that implements all the aforementioned techniques. We show that the tools we develop in this dissertation are effective, incur low runtime performance overhead, and have high accuracy and precision.