3 ms·
Did you know that Coverity actively REMOVED checks for concurrency bugs? It turns out that when the programmer doesn't understand what the tool says, managers
by btilly 3y ago
Did you know that Coverity actively REMOVED checks for concurrency bugs?
It turns out that when the programmer doesn't understand what the tool says, managers believe the programmer and throw out the tool. Coverity was finding itself in situations where they were finding real bugs, and being punished for it by losing the sale. So they removed the checks for those bugs.
I'll revisit my opinion of multithreaded code when things like that stop happening. In the meantime there are models of how to run code on multiple threads that work well enough with different primitives. See Erlang, Go, and Rust for three of them. Also, if you squint sideways, microservices. (Though most people set up microservices in a way that makes debugging problematic. Topic for another day.)
- biorach 3y ago> Did you know that Coverity actively REMOVED checks for concurrency bugs? Source?
- btilly 3y agohttps://cseweb.ucsd.edu/~dstefan/cse227-spring20/papers/bessey:a-few.pdf https://cseweb.ucsd.edu/~dstefan/cse227-spring20/papers/bess...
- yjftsjthsd-h 3y agoSpecifically, on the last page of that: > As an example, for many years we gave up on checkers that flagged concurrency errors; while finding such errors was not too difficult, explaining them to many users was. (And thanks; I was also wondering about that)