Conference: Precise Detection of Atomicity Violations

Concurrent programs that are free from unsynchronized accesses to shared data may still exhibit unpredictable concurrency errors, called atomicity violations, which include both high-level data races and stale-value errors. These errors occur when programmers make wrong assumptions about the atomicity scope of a code block, incorrectly splitting it in two or more atomic blocks and allowing them to be interleaved with other atomic blocks. In this talk I will present a novel strategy to identify atomicity violations, that subsumes both high-level data races and stale-value errors under a novel concept of causality in data flow, which can cover both accesses to data and its use. I will describe briefly the static analysis technique used implement the proposed strategy and cover some of the issues that had to be addressed while analyzing some complex Java Bytecode programs.

Curriculum Vitae

João Lourenço received his doctoral degree from the Universidade Nova de Lisboa, Portugal, in 2004, where he holds a position as Assistant Professor in the Computer Science Department. He is a member of the advisory board of the Euro-Par Conference Series, a member of the Management Committee of the Euro-TM COST action, and a member of the steering committee of the International Conference on Multicore Software Engineering, Performance, and Tools (MUSEPAT) series. In the past he was a member of the steering committee of the PADTAD Workshop Series. His primary research interests are in in-memory data management, and static and dynamic program analysis. During his sabbatical leave in 2011-12, he spent three months at the IBM Research Laboratory in Haifa, Israel, in Dr. Eitan Farchi’s group. Recently he received a Distinguished Paper Award in Euro-Par 2012 and the Best paper Award at HVC 2012.