University of Cambridge > Talks.cam > Logic and Semantics Seminar (Computer Laboratory) > Safety of program transformations in shared-memory concurrency

Safety of program transformations in shared-memory concurrency

Add to your list(s) Download to your calendar using vCal

If you have a question about this talk, please contact Sam Staton.

NOTE UNUSUAL DAY AND TIME. There are two seminars this week, one on Wednesday, one on Friday.

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 our 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.

This talk is part of the Logic and Semantics Seminar (Computer Laboratory) series.

Tell a friend about this talk:

This talk is included in these lists:

Note that ex-directory lists are not shown.

 

© 2006-2020 Talks.cam, University of Cambridge. Contact Us | Help and Documentation | Privacy and Publicity