Stamping out Concurrency Bugs

Thumbnail

Event details

Date 14.12.2015
Hour 10:0012:00
Speaker Baris Kasikci, EPFL
Location
Category Conferences - Seminars
Abstract:
The shift to multi-core architectures in the past ten years has led to a significant change in the way most programmers write code. As hardware became increasingly parallel, concurrent software became mainstream to leverage hardware parallelism. However, the transition to multi-core hardware happened at a more rapid pace than the evolution of associated programming techniques and tools, which made it difficult to write programs that employ concurrency and are both efficient and correct. Failures due to concurrency bugs are often hard to reproduce and fix, and can cause massive losses. It is harder to deal with concurrency bugs if they occur in production because developers may not be able to reproduce such bugs in house to fix them.
In this talk, I will discuss techniques for the detection, root cause diagnosis and classification of concurrency bugs. Specifically, I will first describe a technique that relies on real user executions to statistically isolate root causes of failures with high accuracy and low overhead, with a focus on failures due to concurrency bugs. Then, I will present a technique to accurately and efficiently detect data races in production by again relying on real user execution information. Finally, I will briefly talk about a technique for classifying data races to help developers prioritize their fixing efforts. The techniques we built are efficient, therefore they are applicable to real world systems that run in production. I will also discuss how the techniques we developed were adopted by major technology companies like Microsoft and Intel.

Biography:
I am a final year PhD candidate in the Dependable Systems Laboratory (DSLAB) at EPFL, advised by George Candea. My research is centered around developing techniques, tools and environments that help build more reliable and secure software. I am interested in finding solutions that allow programmers to better reason about their code, and that efficiently detect bugs, classify them, and diagnose their root cause. I especially focus on bugs that manifest in production, because they are hard and time consuming. I am also interested in efficient runtime instrumentation, hardware and runtime support for enhancing system security, and program analysis under various memory models.
I am one of the four recipients of the VMware 2014-2015 Graduate Fellowship.
During my PhD, I interned at Microsoft Research, VMware and Intel. Before starting my PhD, I worked as a software engineer for four years, mainly developing real-time embedded systems software. Before joining EPFL, I was working for Siemens Corporate Technology.
More details can be found in my CV.

CV

Practical information

  • General public
  • Free
  • This event is internal

Tags

talk seminar mock talk

Event broadcasted in

Share