I have the first two editions Chris Hobbs' Embedded Software Development for Safety Critical Systems. I saw that a third edition was out and I've been mulling over getting a copy for a while now. Last week I finally did.
It arrived today and from a cursory look I probably should have picked it up earlier. The two previous editions were great - readable and just jammed with interesting stuff. The second edition was worth it because of the new material and it looks like the third edition has significant changes and additions. Even just randomly flipping through it, I learned the origin of some baffling terminology at work ("control point"). This comes from all places food safety, the Hazard and Critical Control Point methodology for managing risk https://www.fda.gov/food/hazard-analysis-critical-control-point-haccp/haccp-principles-application-guidelines For us, it's a point in the software quality assurance process where we stop and ensure all the procedural requirements up to that point have been met - usually there's a form or record that needs to be filed as evidence of reaching each point. Hobbs put a name on this methodology and this helped me understand why our SQA procedure has control points and what they are trying to accomplish with them. I'm a little scowly that nobody at work bothered to explain we are using a defined methodology for our SQA process; I shouldn't be learning what we're trying to accomplish from a random book purchase. Still, the book demonstrates yet again how useful and insightful it is.
Whether or not you program embedded systems or work on safety-critical systems, if you're involved in building complex and important systems, you really should read the book - it ties so much together in such a small book. Retributive vs restorative cultures, epistemic vs aleatory uncertainty, how to demonstrate random software failure in under 50 lines of C (thread collisions), formal verification - Hobbs covers a really wide set of topics related to risk and safety and provides much insight, puncturing a few myths about risk and failure (most system failures are not the result of component failures). This is a book I can't say enough good about.