Google's effort to mitigate memory-safety issues
Google's effort to mitigate memory-safety issues
Posted Feb 18, 2021 22:12 UTC (Thu) by mathstuf (subscriber, #69389)In reply to: Google's effort to mitigate memory-safety issues by quanstro
Parent article: Google's effort to mitigate memory-safety issues
Posted Feb 19, 2021 7:20 UTC (Fri)
by mti (subscriber, #5390)
[Link] (9 responses)
Not what I would have expected!
Quite a few of the bugs are related to timeouts, locks and so on. So part of the problem might be moving from single-threaded to multi-threaded design.
But mostly I think the problem is not related to the programming language at all, but more to changes in the organization, changes in testing, lack of a system architect etc. Maybe a bit of "second system effect".
It would be interesting to make a deeper analysis ...
Posted Feb 19, 2021 13:58 UTC (Fri)
by mathstuf (subscriber, #69389)
[Link] (8 responses)
> But mostly I think the problem is not related to the programming language at all, but more to changes in the organization, changes in testing, lack of a system architect etc. Maybe a bit of "second system effect".
This is certainly more likely. The lack of testing suites in older projects doesn't help for sure.
FWIW, we had this nasty Python script that was handling our git checks upon pushes to MRs and code repositories. The thing was, quite frankly, terrible because it was borne out of "need to get this deployed before we can migrate to GitLab" and was based on what we had running before for Gerrit. Rewriting it in Rust allowed us to hammer down our types, stop fighting Unicode issues, library-ify everything relevant, get a proper test suite up and running, etc. The thing has been rock solid except for things where you're just going to have issues in any language: GraphQL schemas changing, JSON payloads suddenly having `null` where you've never observed them before, etc. But Rust's error handling meant that it shuffled such things off into a place where we got alerts instead of having a `KeyError` bubble up into main (because defensive Python programming is pretty terrible and verbose) and take the thing down during the weekend.
Posted Feb 20, 2021 1:23 UTC (Sat)
by LtWorf (subscriber, #124958)
[Link] (2 responses)
Well it's a bit your fault for still using python2…
Posted Feb 20, 2021 3:08 UTC (Sat)
by Cyberax (✭ supporter ✭, #52523)
[Link] (1 responses)
With Rust or Go it's back to Py2 level of Unicode usability.
Posted Feb 20, 2021 3:50 UTC (Sat)
by mathstuf (subscriber, #69389)
[Link]
Posted Feb 20, 2021 12:23 UTC (Sat)
by roc (subscriber, #30627)
[Link] (4 responses)
Posted Feb 20, 2021 14:51 UTC (Sat)
by mathstuf (subscriber, #69389)
[Link] (3 responses)
Posted Feb 20, 2021 18:32 UTC (Sat)
by ibukanov (subscriber, #3942)
[Link]
Posted Feb 21, 2021 5:45 UTC (Sun)
by roc (subscriber, #30627)
[Link]
Posted Feb 22, 2021 12:03 UTC (Mon)
by tim_small (guest, #35401)
[Link]
Google's effort to mitigate memory-safety issues
Google's effort to mitigate memory-safety issues
Google's effort to mitigate memory-safety issues
Google's effort to mitigate memory-safety issues
Google's effort to mitigate memory-safety issues
Google's effort to mitigate memory-safety issues
Google's effort to mitigate memory-safety issues
Google's effort to mitigate memory-safety issues
Google's effort to mitigate memory-safety issues
compile time deadlock guarentees