Understanding real-world concurrency bugs in Go

Understanding real-world concurrency bugs in Go Tu, Liu et al., ASPLOS'19 The design of a programming (or data) model not only makes certain problems easier (or harder) to solve, but also makes certain classes of bugs easier (or harder) to create, detect, and subsequently fix. Today’s paper choice studies concurrency mechanisms in Go. Before we … Continue reading Understanding real-world concurrency bugs in Go

Bounding data races in space and time – part II

Bounding data races in space and time Dolan et al., PLDI'18 Yesterday we looked at the case for memory models supporting local data-race-freedom (local DRF). In today’s post we’ll push deeper into the paper and look at a memory model which does just that. Consider a memory store $latex S$ which maps locations to values. … Continue reading Bounding data races in space and time – part II

Bounding data races in space and time – part I

Bounding data races in space and time Dolan et al., PLDI'18 Are you happy with your programming language’s memory model? In this beautifully written paper, Dolan et al. point out some of the unexpected behaviours that can arise in mainstream memory models (C++, Java) and why we might want to strive for something better. Then … Continue reading Bounding data races in space and time – part I

A static verification framework for message passing in Go using behavioural types

A static verification framework for message passing in Go using behavioural types Lange et al., ICSE 18 With thanks to Alexis Richardson who first forwarded this paper to me. We’re jumping ahead to ICSE 18 now, and a paper that has been accepted for publication there later this year. It fits with the theme we’ve … Continue reading A static verification framework for message passing in Go using behavioural types

A concurrent perspective on smart contracts

A concurrent perspective on smart contracts Sergey & Hobor, Workshop on Trusted Smart Contracts, 2017 Maurice Herlihy gave a keynote on 'Blockchains and the future of distributed computing' at PODC'17. In his slides (I wasn't there to hear the talk in person), he recommends reading 'A concurrent perspective on smart contracts.' And here we are! … Continue reading A concurrent perspective on smart contracts