Race-aware Runtimes for Concurrent Software Development & Deployment
- Tayfun Elmas | Koc University
We will present ongoing research on a programming framework in which undesirable data races raise runtime exceptions the same way out-of-bounds array accesses or null-pointer dereferences do in Java. Race exceptions provide a mechanism for detecting and handling races before they lead to serious errors such as security violations or data corruption. The absence of a race exception rules out a race condition as the source of a bug.
A key component of this framework is Goldilocks, a novel algorithm for precise and efficient race detection at runtime. Goldilocks (presented at FATES/RV ’06) is based on locksets and is as efficient as other lockset-based algorithms. Unlike them, it is not specific to a particular synchronization discipline. It computes the happens-before relation like vector clocks do and is therefore sound and precise. Goldilocks was implemented inside the Kaffe JVM. Experiments show that lazy evaluation of locksets and certain short-circuits make Goldilocks very efficient.
In the second part of the talk, we will present a proposal for the rest of the programming framework. Key features of the framework are
- Mechanisms to handle races programmatically at runtime without affecting the operation of the program
- A tight integration of static and dynamic analyses to make continuous monitoring for race and other concurrency exceptions feasible
- Insertion into Java byte-code (composable) results of static analyses for the runtime to more efficiently monitor data races
This work is a collaboration between Koc University and MSR.
Speaker Details
Tayfun Elmas is a PhD student at Koc University, Istanbul, Turkey, advised by Dr. Serdar Tasiran (Koc Univ.) and Dr. Shaz Qadeer (MSR Redmond). His research interests include software verification, program analysis and formal methods. His recent work appeared at conferences including PLDI, POPL and workshops including RV and FATES. Tayfun was an intern at MSR Redmond during the summer of 2005 and 2007. He received his BS in Computer Engineering from Ege University, and MS in Electrical and Computer Engineering from Koc University.
-
-
Jeff Running
-