Safety of Program Transformations in Shared-memory Concurrency
- Jaroslav Sevcik | University of Edinburgh
Most programmers assume an interleaved semantics when reasoning about shared-memory concurrent programs. Unfortunately, even simple and widely implemented optimisations, such as constant propagation, violate the interleaved semantics. In this talk, I will argue that in absence of data races, interleaved semantics can be recovered for common classes of optimisations. My argument focuses on two classes of program transformations – eliminations and reorderings – which seem to explain most of the optimisations performed by realistic compilers.
The core of the proof technique is trace semantic: programs are viewed as sets of action traces and transformations as relations on tracesets. This makes the proof largely independent of concrete language details.
Speaker Details
Jaroslav Sevcik is a researcher at the University of Edinburgh working on static analyses for concurrent programs. He received his PhD from the same university in 2009 for his research on interactions between program optimisations and weak memory models. In his work, he found serious flaws in the specification of multi-threading in Java. Prior to his PhD studies, he worked for more than five years in software industry, where he coordinated development of a distributed financial derivative trading server from first prototypes to a successful deployment in major investment banks. He can be reached at j.sevcik@ed.ac.uk. See also http://homepages.inf.ed.ac.uk/s0566973/.
-
-
Jeff Running
-
-
Watch Next
-
-
-
Accelerating MRI image reconstruction with Tyger
- Karen Easterbrook,
- Ilyana Rosenberg
-
-
-
-
From Microfarms to the Moon: A Teen Innovator’s Journey in Robotics
- Pranav Kumar Redlapalli
-
-
-