Monday, November 7, 2016

Embedded System Software Quality: Why is it so often terrible? What can we do about it?

I had a great time meeting old friends and new folks at ISSRE 2016.

Here are slides from my keynote address:

Embedded System Software Quality:
Why is it so often terrible? What can we do about it?

Failures of embedded system software increasingly make the news. Everyday products we rely upon are suffering from safety issues, security issues, and just plain bugs. While perfection is unrealistic, surely we can improve this situation.  Two key ideas apply: (1) embedded products often aren’t created by computer specialists, and (2) teaching application domain specialists just how to code is more of a problem than a solution.


  1. Hi Phil,

    Very informative presentation, thanks! You mention that mid-career skill upgrade could be achieved through self-instruction and on-line training. At some point I was trying to find some on-line courses for embedded software covering safety critical topics but I didn't succeed in finding any. Do you have any recommendations?

    Best regards,

    1. It is not as simple as signing up for a free online course unfortunately.

      John Knight's book on dependability for software engineers is probably the best starting point if you are specifically looking for safety

      In the broader scheme of things you need good software quality to even get to safety. Simply reading all the entries in this blog (starting with the video on Toyota UA) will go a long way to getting you down this path.


Please send me your comments. I read all of them, and I appreciate them. To control spam I manually approve comments before they show up. It might take a while to respond. I appreciate generic "I like this post" comments, but I don't publish non-substantive comments like that.

If you prefer, or want a personal response, you can send e-mail to
If you want a personal response please make sure to include your e-mail reply address. Thanks!