Notes on concurrency bugs
Do concurrency bugs matter? From the literature, we know that most reported bugs in distributed systems have really simple causes and can be caught by trivial tests, even when we only look at bugs that cause really bad failures, like loss of a cluster or data corruption. The filesystem literature ec...
"For example, the idea inside clang’s TSan, using “happens-before” to find data races, goes back ages. There’s a 2003 paper that discusses “combining two previously known race detection techniques – lockset-based detection and happens-before-based detection – to obtain fewer false positives than lockset-based detection alone”. That’s actually what TSan v1 did, but with TSan v2 they realized the tool would be more impactful if they only used happens-before because that avoids false positives, which means that people will actually use the tool. That’s not something that’s likely to turn into a paper that gets cited zillions of times, though. For anyone who’s looked at how afl works, this story should sound familiar. AFL is emintently practical and has had a very large impact in the real world, mostly by eschewing fancy techniques from the recent literature."Posted on 2016-08-07T05:53:37+0000